访问同一个文件进行读写随机位置

Access the same file for read and write random position

首先说我在 Java 方面经验不多,而且我做了很多研究。我想问你一个具体的问题。 谢谢

我需要打开一个文件进行读写,从中读写一个512字节的块。 文件是固定长度的,要写入的信息会与其他现有信息重叠。 例如,我读取文件的前 512 个字节,如果它包含某些值,则将块 512 写入位置 2048。 我尝试使用 FileInputStreamFileOutputStream,但每次我用 FileOutputStream 打开时,文件的内容都会被删除。 可以用 Java?

来完成

罗伯托

使用FileChannel;它允许以读取、写入或两者的任意组合方式随机访问文件的任何部分。

示例:

final Path path = Paths.get("path/to/the/file");
final FileChannel channel = FileChannel.open(path, relevantOptions);

可选,之后,您可以使用.map()方法。