package
zhu
;
import
java.io.BufferedReader;
import
java.io.BufferedWriter;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
import
java.io.IOException;
import
java.io.InputStreamReader;
import
java.io.OutputStreamWriter;
/*
* @version V17.09
*/
public
class
BufferedCopyDemo {
// 我在这里使用 throws,目的是为了方便地阅读代码
// 然而 在做项目中 还是需要使用try..catch对异常做出相应的处理
public
static
void
main(String[] args)
throws
IOException {
// 文件源头
String pathname =
"hello.txt"
;
// 相对路径下的文件路径
String charsetName =
"UTF-8"
;
// 指定字符集
BufferedReader br =
new
BufferedReader(
new
InputStreamReader(
new
FileInputStream(pathname), charsetName));
// 文件目的地
String newPathName =
"world.txt"
;
BufferedWriter bw =
new
BufferedWriter(
new
OutputStreamWriter(
new
FileOutputStream(newPathName), charsetName));
// 一行一行的读取
String line =
null
;
while
((line = br.readLine()) !=
null
) {
// 读一行
bw.write(line);
// 写一行,但是没有进行换行
bw.newLine();
// 换行
bw.flush();
// 清空缓冲区,把在缓冲区的字符写到文件中
}
// 这个循环会在文本内容的后面 增加一个空行
// 没有想到如何优化这个问题,就是如何删掉最后一个换行符
// 有待学习
// 及时的释放资源
br.close();
bw.close();
}
}