Java中的FileReader和FileWriter函数
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函数的简要介绍和使用方法,希望能帮助到你理解和使用这两个类。
