1. 程式人生 > >JAVA高階基礎(33)---字元緩衝流

JAVA高階基礎(33)---字元緩衝流

字元緩衝流

緩衝流:當我們在建立緩衝流的時候,會預設在系統記憶體中為當前流分配一定大小的緩衝區

字元緩衝輸入流

特殊方法:String  readLine();每次讀取一行  
返回值:當前行的內容,不包括終止符(\r、\n、\r\n)

字元緩衝輸出流

特殊方法:newLine();  輸出一個行終止符  與作業系統無關 

相關程式碼

package org.lanqiao.buffreader.demo;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;

public class BufferedReaderDemo {
	  public static void main(String[] args) throws IOException {
		  //常見讀取的目標檔案
		  File file = new File("Notes.txt");
		  //建立一個位元組流
		  InputStream in = new FileInputStream(file);	  
		  //建立字元輸入流
		  Reader  inr =  new InputStreamReader(in);
		  //常見字元緩衝輸入流
		  BufferedReader br  = new   BufferedReader(inr);
		/* String line =  br.readLine();
		 System.out.println(line);
		 String line1 =  br.readLine();
		 System.out.println(line1);*/
		  String str = "";
		  while((str = br.readLine() )!= null) {
			  System.out.println(str);
			  
		  }
		 
	}
}
package org.lanqiao.buffreader.demo;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class BufferedWriterDemo {
	public static void main(String[] args) throws IOException {
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("test.txt"))));
		bw.write("太原師範學院");
		bw.newLine();
		bw.write("太原理工大學");
		bw.flush();
		
	}
}
package org.lanqiao.buffreader.demo;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class BuffCopy {
	public static void main(String[] args) {
		BufferedReader br= null;
		BufferedWriter bw= null;
		try {
			br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("Notes.txt"))));
			
			bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("notescopy.txt"))));
			String str = "";
			while((str =  br.readLine()) != null) {
				bw.write(str);
				bw.newLine();
				bw.flush();
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				if(br != null) {
					br.close();
				}
				
			} catch (IOException e) {
				e.printStackTrace();
			}finally {
				try {
					if(bw != null) {
						bw.close();	
					}
					
				} catch (IOException e) {
				
					e.printStackTrace();
				}
			}
			
		}
	}
}