在我的项目中,我们正在使用 DataOutputStream
编写一个文件。我们正在编写不同的数据类型,如短、字节、整型和长整型,并且我们在 DataOutputStream
中使用各自的方法。喜欢 writeShort()
, writeByte()
等等
现在,我想编辑此文件中特定偏移处的一条记录。我知道该记录开始的偏移量,但我不确定写入文件的正确方法是什么,因为只有 DataOutputStream
中的方法支持偏移量是需要 byte[]
的偏移量。 .
我想编写整个记录,它是如上所述的不同数据类型的组合。
有人可以告诉我正确的方法是什么吗?
最佳答案
就您而言,您应该使用 RandomAccessFile
为了通过其方法 seek(long pos)
在给定位置读取和/或写入文件中的某些内容.
例如:
try (RandomAccessFile raf = new RandomAccessFile(filePath, "rw")) {
raf.seek(offset);
// do something here
}
注意:方法 writeShort()
、writeByte()
等及其读取对应项可直接从类 中获取RandomAccessFile
因此单独使用它就足够了。
关于java - 使用 DataOutputStream 写入偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40583978/