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