------- android培训、java培训、期待与您交流! ----------
FileReader类和FileWriter类以系统默认的字符编码方式,在内存和硬盘这两个设备之间,进行字符数据的输入和输出。每次调用read方法进行读操作,可以读取一个字符,或者读入一个字符数组。每次调用write方法进行写操作,可以写一个字符,一个字符数组,或者是一个String字符串。
下面通过一个练习来复习这两个类,以及IO异常处理:
练习:把D盘下的文本文件test.txt拷贝一个副本,同样保存在D盘下,以test_copy.txt命名
import java.io.*;
public class Copy {
public static void main(String[] args) {
FileReader fr = null;
FileWriter fw = null;
try {
//创建文件输入字符流
fr = new FileReader("d:\\test.txt");
//创建文件输出字符流
fw = new FileWriter("d:\\test_copy.txt");
//创建缓冲区
char[] buf = new char[1024];
int len = 0;
while((len = fr.read(buf)) != -1) {
fw.write(buf, 0, len);
}
fw.flush();
} catch(FileNotFoundException e) {
System.out.println("要复制的源文件不存在");
} catch(IOException e) {
System.out.println("复制文件失败");
} finally {
if(fr != null)
try {
fr.close();
} catch(IOException e) {
System.out.println("fr关闭失败");
}
if(fw != null)
try {
fw.close();
} catch(IOException e) {
System.out.println("fw关闭失败");
}
}
}
}