在Java中,InputStream
和BufferedReader
可以結合使用,以提高讀取文本文件或其他輸入流的效率。BufferedReader
是一個字符流,它將字符數據從底層的Reader
對象中讀取,并將其存儲在緩沖區中,以便更高效地讀取大量數據。
要將InputStream
與BufferedReader
結合使用,您需要首先將InputStream
轉換為Reader
對象,例如InputStreamReader
。然后,您可以創建一個BufferedReader
實例,將InputStreamReader
作為參數傳遞給它。這樣,您就可以使用BufferedReader
的方法來讀取文本數據了。
以下是一個示例,展示了如何將InputStream
與BufferedReader
結合使用:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class InputStreamAndBufferedReaderExample {
public static void main(String[] args) {
try {
// 創建一個FileInputStream實例
InputStream inputStream = new FileInputStream("example.txt");
// 將InputStream轉換為InputStreamReader
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
// 創建一個BufferedReader實例
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
// 使用BufferedReader讀取文本數據
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
// 關閉BufferedReader和InputStream
bufferedReader.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在這個示例中,我們首先創建了一個FileInputStream
實例,用于讀取名為example.txt
的文件。然后,我們將InputStream
轉換為InputStreamReader
,并創建一個BufferedReader
實例。接下來,我們使用BufferedReader
的readLine()
方法逐行讀取文本數據,直到文件結束。最后,我們關閉BufferedReader
和InputStream
。