5、IO--BufferedReader&BufferedReader
阿新 • • 發佈:2019-05-05
span java 博客 reader 進行 file throw 轉化 sta
BufferedReader
常見方法:
BufferedReader(Reader in) 接收一個Reader類的實例
readLine() 一次性從緩沖區中將內容全部讀取出來
註意:
BufferedReader中只能接收輸入流的實例
必須使用字符輸入流和字節輸入流的的轉換類InputStreamReader將字節輸入流轉換為字符流
實例:
此時關閉是由裏到外進行關閉
public static void main(String[] args) throws IOException { //1、 File file = new File("d:\\test.txt"); InputStream in =new FileInputStream(file); //轉化流 Reader reader = new InputStreamReader(in); //2、 BufferedReader breader = null; breader = new BufferedReader(reader); String str = null; while((str = breader.readLine())!=null){ System.out.println(str); } //3、關閉 in.close(); reader.close(); breader.close(); }
讀取的結果:
BufferedWriter
主要的寫方法:
註意:
BufferedReader中只能接收輸入流的實例
必須使用字符輸入流和字節輸入流的的轉換類OutputStreamWriter將字節輸入流轉換為字符流
註意:
關閉是由外至裏
public static void main(String[] args) throws IOException { //1、 File file = new File("d:\\test.txt"); OutputStreamout = new FileOutputStream(file); Writer writer = new OutputStreamWriter(out); //2、 BufferedWriter bwriter = null; bwriter = new BufferedWriter(writer); //3、 bwriter.write("我是MrChengs \n\r 我愛博客園"); //4、關閉流資源bwriter.close(); writer.close(); out.close();
}
小測試復制文件內容:
public static void main(String[] args) throws IOException { //將test.txt文件的內容復制到aaa.txt文件中 //1、 //被復制內容的為念 File file = new File("d:\\test.txt"); InputStream in = new FileInputStream(file); Reader reader = new InputStreamReader(in); //空文件 即將被test.txt的內容進行填充 //File file1 = new File("aaa.txt"); OutputStream out = new FileOutputStream("d:\\aaa.txt"); Writer writer = new OutputStreamWriter(out); //2、 BufferedWriter bwriter = null; bwriter = new BufferedWriter(writer); BufferedReader breader = null; breader = new BufferedReader(reader); //3、 String str =null; int i = 0; while((str = breader.readLine()) != null){ bwriter.write(str); } System.out.println("--"); //4、關閉 in.close(); reader.close(); breader.close(); bwriter.close(); writer.close(); out.close(); }
此時出現的問題是復制的內容僅僅之後填充再一行中
解決方法:
5、IO--BufferedReader&BufferedReader