欢迎访问宙启技术站
智能推送

文件IO函数: FileReader, FileWriter, BufferedReader等

发布时间:2023-05-23 21:03:53

文件IO函数是用于在程序内读取和写入文件的函数。它们可以从文件中读取文本和二进制数据,并且可以将文本和二进制数据写入到文件中。这对于需要处理文件的许多应用程序非常有用,例如文本编辑器、数据库管理系统和图像编辑器等。

本文将介绍一些常见的文件IO函数,包括FileReader、FileWriter、BufferedReader等。

一、FileReader和FileWriter

首先是FileReader和FileWriter。FileReader是用于读取文本文件的类,而FileWriter是用于写入文本文件的类。这两个类都允许您以字符的方式访问文件。

下面是一个使用FileReader读取文件内容的简单示例:

FileReader reader = new FileReader("文件路径");
int c;

while ((c = reader.read()) != -1) {
    System.out.print((char)c);
}

reader.close();

上面代码首先使用FileReader打开文件并初始化一个缓冲区。然后它使用read()方法逐个字符地读取文件的内容。最后,使用close()关闭文件。

下面是一个使用FileWriter写入文本文件的示例:

String content = "写入文件的内容"; 
File file = new File("文件路径");

if (!file.exists()) {
    file.createNewFile();
}

FileWriter writer = new FileWriter(file);
writer.write(content);
writer.flush();
writer.close();

上面代码创建了一个新的文件,并使用FileWriter将内容写入文件中。flush()方法确保数据被写入文件,然后使用close()关闭文件。

二、BufferedReader和BufferedWriter

然后是BufferedReader和BufferedWriter。这两个类是对FileReader和FileWriter的更高效的替代品。它们使用缓冲区以减少对磁盘的访问次数,从而加快读写速度。

下面是一个使用BufferedReader读取文件内容的简单示例:

FileReader fr = new FileReader("文件路径");
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
    System.out.println(line);
}
br.close();

上面代码首先打开文件,然后使用BufferedReader的readLine()方法读取文件内容,直到遇到文件的末尾。最后关闭文件。

下面是一个使用BufferedWriter写入文本文件的示例:

FileWriter writer = new FileWriter("文件路径");
BufferedWriter bw = new BufferedWriter(writer);
bw.write("写入文件内容");
bw.close();

上面代码首先创建一个FileWriter对象,在内部创建了一个BufferedWriter对象,然后使用write()方法将内容写入该文件中。最后,使用close()关闭文件。

三、InputStream和OutputStream

最后是InputStream和OutputStream。这两个类是用于读取和写入二进制文件的类,它们允许您以字节的方式访问文件。

下面是一个使用InputStream读取二进制文件的简单示例:

InputStream is = new FileInputStream("文件路径");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();

上面代码首先打开了文件,并使用available()方法获取文件的字节数。然后它创建了一个字节数组来保存文件的内容,并使用read()方法将文件的内容读取到字节数组中。最后,使用close()方法关闭文件。

下面是一个使用OutputStream写入二进制文件的示例:

byte[] content = "写入文件内容".getBytes();
OutputStream os = new FileOutputStream("文件路径");
os.write(content);
os.close();

上面代码首先创建一个字节数组来保存要写入文件的内容,并使用getBytes()方法将字符串转换为字节数组。然后,它创建了一个OutputStream对象,并使用write()方法将数据写入文件中。最后,使用close()方法关闭文件。

结论

以上是一些常见的文件IO函数,包括FileReader、FileWriter、BufferedReader和BufferedWriter以及InputStream和OutputStream。这些函数非常有用,可以让您在程序中轻松读取和写入文件,从而使您的应用程序更加实用。