FileInputStream 是以流的方式讀取文件的。
java.io.BufferedReader和java.io.BufferedWriter類各擁有8192字符的緩沖區。當BufferedReader在讀取文本文件時,會先盡量從文件中讀入字符數據並置入緩沖區,而之后若使用read()方法,會先從緩沖區中進行讀取。如果緩沖區數據不足,才會再從文件中讀取,使用BufferedWriter時,寫入的數據並不會先輸出到目的地,而是先存儲至緩沖區中。如果緩沖區中的數據滿了,才會一次對目的地進行寫出。
import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { //BufferedReader是可以按行讀取文件 FileInputStream inputStream = new FileInputStream("d://a.txt"); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String str = null; while((str = bufferedReader.readLine()) != null) { System.out.println(str); } //close inputStream.close(); bufferedReader.close(); } }