緩衝字元流BufferedReader和BufferedWriter
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();
}
}