【发布时间】:2014-07-11 00:43:04
【问题描述】:
我正在阅读有关 Java I/O 的内容,发现了一些有趣的领域,例如流、阅读器等。
InputStream input = new FileInputStream("input-file.txt");
int data = input.read();
while(data != -1){
data = input.read();
}
我可以通过使用 Readers 来做同样的事情,如下所示:
Reader reader = new FileReader("input-file.txt");
int data = reader.read();
while(data != -1){
char dataChar = (char) data;
data = reader.read();
}
据我所知,Streams 用于从持续流动的数据中检索输入。
现在我对 Streams 和 reader 之间的区别感到困惑;如果我们用缓冲的阅读器包装流 - 它是如何换行的,因为流是一个连续流动的东西。
我找到了一些参考网站,例如this site.,但我无法理解其中的区别。
请有人帮我理解一下吗?
【问题讨论】:
-
从 javadoc 开始。
-
谢谢@SotiriosDelimanolis,但我需要一个比较。我需要了解如何在 BufferedReaders 中换行。你能帮帮我吗?
-
一个 InputStream 不是一个 Stream……那是完全不同的东西。
-
看源码 - grepcode.com/file_/repository.grepcode.com/java/root/jdk/… - FileReader 只是一个 InputStreamReader 和一个 FileInputStream。
标签: java inputstream bufferedreader filereader