Skip to content

Latest commit

 

History

History
127 lines (88 loc) · 2.51 KB

緩沖區.md

File metadata and controls

127 lines (88 loc) · 2.51 KB

緩沖區

BufferedReader readLine()

  • 使用了讀取緩衝區的 read 方法,將讀取到的字符進行緩衝並判斷換行標記。將標記前的緩存數據變成字符串返回。

字符流緩衝區

BufferedWriter : newLine() BufferedReader : readLine()

BufferedWriter

演示

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedWriterDemo {

	private static final String LINE_SEPARATOR = System.lineSeparator();

	public static void main(String[] args) throws IOException {

		FileWriter fw = new FileWriter("Buf.txt");
		
		//為了提高寫入效率。使用了字符流的緩沖區
		//創建了一個字符寫入流的緩沖區對象,並和指定要被緩沖的流對象相關聯
		BufferedWriter bufw = new BufferedWriter(fw);
		
		//使用緩沖區的寫入方法將數據寫入到緩沖區中
//		bufw.write("I'm Jack" + LINE_SEPARATOR + "I'm Vivian");
		
		/*
		bufw.write("I'm Jack");
		bufw.newLine();//換行
		bufw.write("I'm Jack");
		bufw.newLine();
		bufw.write("I'm Jack");
		*/
		
		for(int i = 1; i <= 3; i++) {
			
			bufw.write("I'm Jack");
			bufw.newLine();//每寫一次換行一次
			bufw.flush();//每寫一次刷新一次
		}
		
		//使用緩沖區的刷新方法將數據刷到目的地中
		bufw.flush();
			
		//關閉緩衝沖區 -> 其實被關閉的就是被緩沖的流對象
		bufw.close();
	}
}

文件顯示結果

I'm Jack
I'm Jack
I'm Jack

##BufferedReader ###演示

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class BufferedReaderDemo {

	public static final int BUFF_SIZE = 1024;

	public static void main(String[] args) throws IOException {

		FileReader fr =  new FileReader("Buf.txt");
		
		BufferedReader br = new BufferedReader(fr);
		
		String line = null;
		
		while((line = br.readLine()) != null) {
			
			System.out.println(line);
		}
		
		/*
		String line1 = br.readLine();
		
		System.out.println(line1);
		
		String line2 = br.readLine();
		
		System.out.println(line2);
		
		String line3 = br.readLine();
		
		System.out.println(line3);
		*/
		
		
	}

	private static void demo() throws FileNotFoundException, IOException {
		FileReader fr = new FileReader("Buf.txt");
		
		char[] ch = new char[BUFF_SIZE];
		
		int len = 0;
		while((len = fr.read(ch)) != -1) {
			
			System.out.println(new String(ch, 0, len));
		}
		
		fr.close();
	}
}

文本顯示結果

I'm Jack
I'm Jack
I'm Jack