Java固定文件大小操作

时间:2013-10-08 17:14:07

标签: java

在Java中使用RandomAccessFile我可以创建一个文件,然后执行setLength 现在假设我分配1024 bytes的长度。现在我写了512 bytes。 现在,我想再次编写256 bytes而不更改文件大小并清除512 bytes

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

1 个答案:

答案 0 :(得分: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调用的情况下隐式扩展。