FileChannel - 在 eof 处附加字节缓冲区?

FileChannel - append byte buffer at eof?

我想知道是否有可能添加 使用文件通道的位置方法将字节缓冲区添加到文件末尾。

我读到打开文件输出流是必要的 带有附加标志

ByteBuffer byteBuffer = ...;
FileOutputStream fileOutputStream = new FileOutputStream("path/to/file", true);
FileChannel channel = fileOutputStream.getChannel();

channel.write(bytebuffer);
channel.force(true);
channel.close();

但不应该追加缓冲区吗 通过修改频道的位置。

"The size of the file increases when bytes are written beyond its current size"

ByteBuffer byteBuffer = ...;
FileOutputStream fileOutputStream = new FileOutputStream("path/to/file");
FileChannel channel = fileOutputStream.getChannel();

channel.position(channel.size()).write(bytebuffer);
channel.force(true);

我将不胜感激自文件以来的一些解释 被覆盖。

文件在第二个示例中被覆盖,因为您没有指定值为 trueappend 参数。在那之后,将它定位在 EOF 只是将它定位在零。