我想知道是否有可能添加 使用文件通道的位置方法将字节缓冲区放到文件末尾。
我已经读过打开文件输出流是必要的 附加标志
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);
我会很感激自文件以来的一些解释 被覆盖。
答案 0 :(得分:2)
在第二个示例中,文件被覆盖,因为您没有指定值为$ cat output_names.csv
text,john,george,peter,thomas
peter is awesome,0,0,1,0
john is lazy,1,0,0,0
thomas is thomas,0,0,0,1
george is curious,0,1,0,0
$
的{{1}}参数。之后,将其定位在EOF只是将其定位为零。