Classes FileInputStream et FileOutputStream
Les classes FileInputStream et FileOutputStream sont utilisées pour manipuler les fichiers disque. FileInputStream (flux d'entrée d'octet de fichier), FileOutputStream (flux de sortie d'octet de fichier).
Les classes FileInputStream et FileOutputStream peuvent implémenter des fonctions de lecture et d'écriture de fichiers.
Créez d'abord l'objet fichier
public class Study2 {
public static void main(String[] args) {
//创建文件对象
File f = new File("word.txt");
}
}
Créer un objet FileOutputStream pour écrire des informations dans le fichier
public class Study2 {
public static void main(String[] args) {
// 创建文件对象
File f = new File("word.txt");
// 将信息写入到文件中
FileOutputStream out = null;
try {
out = new FileOutputStream(f);// 创建FileOutputStream对象
byte b[] = "Holle Word!".getBytes();// 创建byte型数组
out.write(b);// 将数组中的信息写入到文件中
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
// 判断out是否为空值,如果不等于空值,则需要将流关闭
try {
out.close();// 将流关闭
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
Le fichier word.txt apparaîtra dans le répertoire du projet. Archivez le fichier et affichez
la phrase dans le tableau d'octets.
Créez un objet FileInputStream pour lire les informations du fichier
// 将文件信息读取输出
FileInputStream in = null;
try {
in = new FileInputStream(f);// 创建FileInputStream对象
byte b1[] = new byte[1024];//创建byte数组
int len = in.read(b1);//从文件中读取信息
System.out.println("文件中的信息是:" + new String(b1,0,len));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
// 判断in是否为空值,如果不等于空值,则需要将流关闭
try {
in.close();// 将流关闭
} catch (IOException e) {
e.printStackTrace();
}
}
}
Code complet:
public class Study2 {
public static void main(String[] args) {
// 创建文件对象
File f = new File("word.txt");
// 将信息写入到文件中
FileOutputStream out = null;
try {
out = new FileOutputStream(f);// 创建FileOutputStream对象
byte b[] = "Holle Word!".getBytes();// 创建byte型数组
out.write(b);// 将数组中的信息写入到文件中
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
// 判断out是否为空值,如果不等于空值,则需要将流关闭
try {
out.close();// 将流关闭
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 将文件信息读取输出
FileInputStream in = null;
try {
in = new FileInputStream(f);// 创建FileInputStream对象
byte b1[] = new byte[1024];// 创建byte数组
int len = in.read(b1);// 从文件中读取信息
System.out.println("文件中的信息是:" + new String(b1, 0, len));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
// 判断in是否为空值,如果不等于空值,则需要将流关闭
try {
in.close();// 将流关闭
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
Classes FileReader et FileWriter
Étant donné que les deux classes FileInputStream et FileOutputStream fournissent uniquement des méthodes de lecture d'octets ou de tableaux d'octets, les caractères chinois occupent deux octets en octets. Si la lecture n'est pas correcte, des codes déformés peuvent se produire, il FileReader (flux d'entrée de caractère de fichier) et FileWriter (flux de sortie de caractère de fichier).
Les deux sont similaires et les méthodes sont les mêmes.
code montrer comme ci-dessous:
public class Study2 {
public static void main(String[] args) {
// 创建文件对象
File f = new File("word.txt");
// 将信息写入到文件中
FileWriter out = null;
try {
out = new FileWriter(f);// 创建FileOutputStream对象
String str = "Holle Word!";// 创建byte型数组
out.write(str);// 将数组中的信息写入到文件中
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
// 判断out是否为空值,如果不等于空值,则需要将流关闭
try {
out.close();// 将流关闭
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 将文件信息读取输出
FileReader in = null;
try {
in = new FileReader(f);// 创建FileInputStream对象
char c[] = new char[1024];// 创建byte数组
int len = in.read(c);// 从文件中读取信息
System.out.println("文件中的信息是:" + new String(c, 0, len));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
// 判断in是否为空值,如果不等于空值,则需要将流关闭
try {
in.close();// 将流关闭
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}