- 字符文件的复制
public class FileReaderAndWriterTest {
@Test
public void test() {
FileReader fileReader = null;
FileWriter fileWriter = null;
try {
//创建二个文件对象
File file = new File("test.txt");
File file1 = new File("test1.txt");
//创建读入字符和写入字符流
fileReader = new FileReader(file);
fileWriter = new FileWriter(file1);
//创造一个char型数组,作为缓冲
char[] c = new char[5];
int len;
while ((len=fileReader.read(c))!=-1){
fileWriter.write(c,0,len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fileReader!=null){
fileReader.close();
}
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if (fileWriter!=null){
fileWriter.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
-
FileWriter(file) ,file对应的硬盘中的文件如果不存在,在输出的过程中,会自动创建此文件。
File对应的硬盘中的文件如果存在: 如果流使用的构造器是:FileWriter(file,false) / FileWriter(file):对原有文件的覆盖 如果流使用的构造器是:FileWriter(file,true):不会对原有文件覆盖,而是在原有文件基础上追加内容
文件的复制可以抽象成为一个工具方法因为只有源文件和目标文件的路径不同。