繁体   English   中英

Java RandomAccessFile与DataInputStream进行字节操作

[英]Java RandomAccessFile vs. DataInputStream for byte operations

我需要从文件中读取字节。
使用RandomAccessFile和使用DataInputStream之间是否有区别(例如,效率,内存,运行时,复杂性和代码的优雅程度)?

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

同样,对于另一个方向,如果只需要writeByte(),则RandomAccessFileDataOutputStream之间是否有区别?
RandomAccessFile是双向的这一事实不计算在内,读取和写入未连接且无法共享)。

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

如果您仅执行顺序访问,那么它们本身就等效。 但是,围绕FileInputStreamBufferedInputStreamDataInputStream将比RandomAccessFile效率大大提高。

如果只需要顺序读取/写入DataInputStream/DataOutputStream则完全可以。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM