1.需求描述
当前有一个文本文件
txt戈斯和
,将此文件复制一份
。
2.思路分析
1.txt是一种文本文件,所以使用字符流进行读写操作;
2.将原文件读入到程序中,然后再将读取的内容写入到一个新的文件中即可;
3.字符输出流,要使用追加的方式,这样才能写出一个完整的文件;
4.使用处理流的时候,只需要关闭最外层的流即可,内部的流可以自动关闭。
3.代码实现
如下代码可以直接复用
package com.northcastle.fileOperation;
import java.io.*;
public class ApplicationFileCopyBufferReaderWriter {
public static void main(String[] args) {
//1.准备两个文件,一个读取,一个写入
String filePathReader = "D:\\EDailyRoutine\\java-io-test\\bufferedReader01.txt";
String filePathWriter = "D:\\EDailyRoutine\\java-io-test\\bufferedReader01_copy.txt";
//2.声明读取和写出的处理流对象
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
//3.声明读取的对象
String contentLint = null;
try {
bufferedReader = new BufferedReader(new FileReader(filePathReader));
bufferedWriter = new BufferedWriter(new FileWriter(filePathWriter,true));
//4.循环读取与写入
while ((contentLint = bufferedReader.readLine()) != null){
bufferedWriter.write(contentLint);
bufferedWriter.newLine();
}
System.out.println("copy 完成");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
//5.关闭流
try {
if (bufferedReader != null){
bufferedReader.close();
}
if (bufferedWriter != null){
bufferedWriter.close();
}
}catch (IOException e){
e.printStackTrace();
}
}
}
}
查看执行完成后的效果:
复制后的文件大小与源文件大小一致,且文件内容一致。
4.完成
Congratulations!
You are one step closer to success!