Java函数:读取和写入文件
Java有很多用于文件读写的函数。本文将介绍几个常用的函数。
1. FileInputStream和FileOutputStream
FileInputStream和FileOutputStream是Java中用于读取和写入二进制文件的函数。它们的实例可以用于读取和写入所有类型的文件,包括压缩文件和图像文件等。
FileInputStream的构造函数需要一个文件名作为参数,它将文件读入到程序中。FileOutputStream的构造函数也需要一个文件名作为参数,它将输出到指定文件中。
以下是一个简单的使用FileInputStream和FileOutputStream读取和写入文件的例子:
try {
FileInputStream fis = new FileInputStream("filename.txt");
FileOutputStream fos = new FileOutputStream("output.txt");
int content;
while ((content = fis.read()) != -1) {
fos.write(content);
}
fis.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
2. FileReader和FileWriter
FileReader和FileWriter是Java中用于读取和写入文本文件的函数。它们的实例可以用于读取和写入文本文件,包括CSV文件和HTML文件等。
FileReader的构造函数需要一个文件名作为参数,它将文件读入到程序中。FileWriter的构造函数也需要一个文件名作为参数,它将输出到指定文件中。
以下是一个简单的使用FileReader和FileWriter读取和写入文件的例子:
try {
FileReader fr = new FileReader("filename.txt");
FileWriter fw = new FileWriter("output.txt");
int content;
while ((content = fr.read()) != -1) {
fw.write(content);
}
fr.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
3. BufferedReader和BufferedWriter
BufferedReader和BufferedWriter是Java中带缓存的读取和写入函数,它们适用于频繁读取和写入数据的场合,可以提高效率。
BufferedReader的构造函数需要一个Reader对象作为参数,它将读取流中的数据并把它存入一个缓存区中。BufferedWriter的构造函数需要一个Writer对象作为参数,它将把缓存区中的数据写入流中。
以下是一个简单的使用BufferedReader和BufferedWriter读取和写入文件的例子:
try {
FileReader fr = new FileReader("filename.txt");
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter("output.txt");
BufferedWriter bw = new BufferedWriter(fw);
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
br.close();
fr.close();
bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
在以上例子中,读取的时候每次读取一行,写入的时候每次写一行,并且判断到达文件末尾的条件是读取到null。
4. Scanner
Scanner是Java中一个方便的读取用户输入的函数。它也可以用于读取文件。
以下是一个简单的使用Scanner读取文件的例子:
try {
File file = new File("filename.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
以上例子将读取文件中的每一行并把它打印出来。
总之,Java提供了丰富的文件读写函数,我们可以根据需要选择适合自己的函数来处理文件操作。
