1

在 Java 中使用RandomAccessFile我可以创建一个文件,然后setLength 现在假设我分配了1024 bytes. 现在我写说512 bytes。现在我又想在256 bytes不更改文件大小并清除这些文件的情况下编写512 bytes

我不想setLength(0)在我的过程中间使用以避免java.io.IOException: No space left on device

4

1 回答 1

4

您可以使用搜索:

file.setLength(1024);
file.write(new byte[512]); //or some other 512 bytes
//close and reopen later
file.seek(512);
//write 256 more bytes

编辑:我认为您没有意识到RandomAccessFile. 您可以将它创建为 512 字节并继续写入它,以便它可以隐式扩展而无需setLength调用。

于 2013-10-08T17:16:43.410 回答