我需要从文件中读取字节。using和 using
之间是否存在差异(例如效率、内存、运行时、代码的复杂性和不优雅)?RandomAccessFile
DataInputStream
我使用的唯一方法是 readByte()。
RandomAccessFile
同样对于另一个方向,DataOutputStream
如果只需要 writeByte()之间是否有区别?
(RandomAccessFile
双向的不算,读写不相连,不能共享)。
还有其他更适合这种阅读和写作的对象吗?
如果您只进行顺序访问,它们本身基本上是等价的;但是 aDataInputStream
围绕 aBufferedInputStream
将比FileInputStream
a 更有效RandomAccessFile
。
DataInputStream/DataOutputStream
如果您只需要按顺序读/写它,那完全没问题。
如果您需要随机访问(例如对字节数组),请使用RandomAccessFile
.
我认为它们在内存消耗等方面没有任何显着差异,因为它们只是 JVM 和 OS 之间的中介。