2

我搜索并查看了多个这样的问题,但我的问题与我发现的任何问题都不同。我看过Java Docs。

如何打开与此 c 文件等效的文件:

stream1 = fopen (out_file, "r+b");

一旦我从文件中完成了部分读取,无论文件中有多少字节,第一次写入都会使下一次读取返回 EOF。

本质上,我想要一个不这样做的文件 I/O 流。我要做的全部目的是替换当前文件中现有文件中的字节。在执行读取->写入之前,我不想复制或制作副本。

4

2 回答 2

7

您可以使用RandomAccessFile

于 2012-04-20T19:30:55.067 回答
1

正如 Perception 提到的,您可以使用 RandomAccessFile。此外,在某些情况下,FileChannel可能会更好地工作。我已经使用这些来处理二进制文件数据并取得了巨大的成功。

编辑:您可以使用 RandomAccessFile 对象从 RandomAccessFile 对象中获取 FileChannel getChannel

于 2012-04-20T19:47:01.037 回答