在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
。