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