- 使用了讀取緩衝區的 read 方法,將讀取到的字符進行緩衝並判斷換行標記。將標記前的緩存數據變成字符串返回。
BufferedWriter : newLine() BufferedReader : readLine()
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