3

我需要从文件中读取字节。using和 using
之间是否存在差异(例如效率、内存、运行时、代码的复杂性和不优雅)?RandomAccessFileDataInputStream

我使用的唯一方法是 readByte()。

RandomAccessFile同样对于另一个方向,DataOutputStream如果只需要 writeByte()之间是否有区别?
RandomAccessFile双向的不算,读写不相连,不能共享)。

还有其他更适合这种阅读和写作的对象吗?

4

2 回答 2

3

如果您只进行顺序访问,它们本身基本上是等价的;但是 aDataInputStream围绕 aBufferedInputStream将比FileInputStreama 更有效RandomAccessFile

于 2012-04-13T05:00:20.933 回答
2

DataInputStream/DataOutputStream如果您只需要按顺序读/写它,那完全没问题。

如果您需要随机访问(例如对字节数组),请使用RandomAccessFile.

我认为它们在内存消耗等方面没有任何显着差异,因为它们只是 JVM 和 OS 之间的中介。

于 2012-04-12T22:33:20.847 回答