我应该使用DataInputStream还是BufferedInputStream


问题内容

我想从文本文件中读取每一行并将它们存储在ArrayList中(每一行是ArrayList中的一项)。

到目前为止,我知道BufferedInputStream写入缓冲区,并且仅在缓冲区为空时才进行另一次读取,这可以最大程度地减少或至少减少操作系统的操作量。

我正确吗-我说得通吗?

如果以上情况是在任何情况下,任何人都想使用DataInputStream。最后,我应该使用这两个中的哪一个,以及为什么-还是没关系。


问题答案:

使用正常InputStream(如FileInputStream)包裹在一个InputStreamReader再包上一个BufferedReader-然后调用readLineBufferedReader

DataInputStream 非常适合读取基元,长度前缀的字符串等。