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

Java中的FileReader和FileWriter函数

发布时间:2023-11-25 05:54:02

FileReader和FileWriter是Java中用于读取和写入文件的两个常用的类。下面将详细介绍这两个类的使用方法和一些常见的注意事项。

1. FileReader类:

FileReader类用于读取字符文件。它是以字符流的方式读取文件的,可以读取文本文件以及字符编码文件。常用的构造函数有:

- FileReader(File file):创建一个FileReader对象,指定要读取的文件。

- FileReader(String fileName):创建一个FileReader对象,指定要读取的文件的文件名。

使用FileReader类读取文件的步骤如下:

1. 创建一个FileReader对象,指定要读取的文件。

2. 调用FileReader对象的read()方法读取文件中的内容,返回一个int类型的值,代表读取的字符的ASCII码值。

3. 判断返回的ASCII码值是否为-1,如果是,则表示已经读取到文件的末尾,停止读取;如果不是,将ASCII码值强制转换为char类型,即可得到具体的字符内容。

示例代码如下:

FileReader fr = new FileReader("test.txt");
int data;
while ((data = fr.read()) != -1) {
    char c = (char) data;
    System.out.print(c);
}
fr.close();

2. FileWriter类:

FileWriter类用于向文件中写入字符。它也是以字符流的方式写入文件的,可以写入文本文件以及字符编码文件。常用的构造函数有:

- FileWriter(File file):创建一个FileWriter对象,指定要写入的文件。

- FileWriter(String fileName):创建一个FileWriter对象,指定要写入的文件的文件名。

使用FileWriter类写入文件的步骤如下:

1. 创建一个FileWriter对象,指定要写入的文件。

2. 调用FileWriter对象的write()方法向文件中写入字符,也可以使用其它重载的方法实现不同的写入方式,例如写入字符串、写入字符数组等。注意,write()方法写入的是字符的ASCII码值,如果想要写入具体的字符内容,需要先将字符转换为ASCII码值。

3. 在写入完成后,调用FileWriter对象的flush()方法刷新缓冲区,将缓冲区内的内容写入文件。

4. 最后,关闭FileWriter对象,释放资源。

示例代码如下:

FileWriter fw = new FileWriter("test.txt");
fw.write("Hello, World!");
fw.flush();
fw.close();

需要注意的是,文件读写操作都属于I/O操作,会涉及到文件的打开、读取或写入、关闭等操作,因此在进行文件读写操作时,要注意异常的处理和资源的释放。可以使用try-catch语句来捕获可能发生的异常,并在finally块中进行资源的释放。另外,使用try-with-resources语句可以自动处理资源的关闭。

以上就是FileReader和FileWriter函数的简要介绍和使用方法,希望能帮助到你理解和使用这两个类。