Java RandomAccessFile通过使用偏移量写入扩展文件

Java RandomAccessFile通过使用偏移量写入扩展文件,java,randomaccessfile,Java,Randomaccessfile,所以我知道你可以通过写入超过其当前大小来扩展RandomAccessFile的大小,但我似乎找不到任何特定案例的信息 如果我有一个10字节的文件,我写了5个字节,偏移量为15,那么文件会扩展到20个字节,但是有没有保证文件的旧端和我开始写的地方之间的字节数是多少?例如,它们是保证全部为零还是未定义?来自: 如果length方法返回的文件的当前长度为 小于newLength参数,则文件将被扩展。在里面 在这种情况下,文件扩展部分的内容不会被删除 定义 因此,不,不保证任何值,当然不保证全部为零。您

所以我知道你可以通过写入超过其当前大小来扩展RandomAccessFile的大小,但我似乎找不到任何特定案例的信息

如果我有一个10字节的文件,我写了5个字节,偏移量为15,那么文件会扩展到20个字节,但是有没有保证文件的旧端和我开始写的地方之间的字节数是多少?例如,它们是保证全部为零还是未定义?

来自:

如果length方法返回的文件的当前长度为 小于newLength参数,则文件将被扩展。在里面 在这种情况下,文件扩展部分的内容不会被删除 定义


因此,不,不保证任何值,当然不保证全部为零。

您必须打开文件进行“附加”。否则,文件中已经存在的任何信息都将被删除。+1操作系统会确定这一点,Linux和Windows会将其置为零,但其他人可能不会(这些信息可能有一天会改变)