import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 功能:通过按行读取实现文件复制
*
* 思路1:使用字节流还是字符流
* 使用字符流,对于字节流没有行的概念
*
* 思路2:使用节点流还是处理流
* 使用处理流
* 节点流只提供了两种读写的方式
* 1个字节 或者1个字节数组
*
* BufferedReader和BufferedWriter
* 好处1:提高了性能
* 好处2:简化了操作
*
* 注意1:readLine()的底层原理
* 底层其实还是read(),遇到换行符,转换成字符串
*
*
* 注意2:newLine()的底层原理
* 不同的操作系统中换行符是不同的
* window
* linux
* mac
* (2)Windows系统里面,每行结尾是 回车+换行(CR+LF),即“\r\n”;
(3)Unix系统里,每行结尾只有 换行CR,即“\n”;
(4)Mac系统里,每行结尾是 回车CR 即'\r'。
* @author Administrator
*
*/
public class TestCopy {
public static void main(String[] args) throws IOException {
//创建输入流和输出流
BufferedReader br = new BufferedReader(new FileReader(new File("e:/log.txt")));
BufferedWriter bw = new BufferedWriter(new FileWriter("e:/log2.txt"));
//使用输入流和输出流
String str = br.readLine();
while(str != null){
//写一行
bw.write(str);//只负责写,没有换行
bw.newLine();//添加一个换行符
//System.out.println();
//bw.write("\r");
//再读一行
str = br.readLine();
}
//关闭输入流和输出流
br.close();
bw.close();
}
}