Java 访问同一文件进行随机读写

Java 访问同一文件进行随机读写,java,randomaccessfile,Java,Randomaccessfile,首先说我在Java方面没有丰富的经验,我做了很多研究。我想问你一个具体的问题。 多谢各位 我需要打开一个用于读写的文件,从中我可以读写512字节的块。 该文件是固定长度的,要写入的信息将与其他现有文件重叠。 例如,我读取文件的前512字节,如果它包含某些值,则将块512写入位置2048。 我尝试使用FileInputStream和FileOutputStream但是每次使用FileOutputStream打开时,文件的内容都会被删除。 可以用Java完成吗 罗伯托使用;它允许以读、写或两者的任意

首先说我在Java方面没有丰富的经验,我做了很多研究。我想问你一个具体的问题。 多谢各位

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

罗伯托

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

例如:

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

或者,在此之后,您可以使用
.map()
方法。

谢谢您的提示,我不知道FileChannel。然而,我在互联网上看到一些例子,我首先必须用RandomAccessFile打开文件;不适用于Java7+,请参阅我的代码示例。