0

我想知道是否有一种机制可以在写入文件时读取文件并删除同时读取的内容。这样做的目的是因为文件存储在内存(ramdisk)中,随着文件大小的增加,我们需要删除已经处理的部分。

非常感谢!!!

PS:我为此使用 Linux 和 Java。:)

4

3 回答 3

2

不能从文件的开头或中间删除数据。使用多个文件处理数据并在使用时将其擦除。

于 2013-05-30T20:52:32.007 回答
1

在写入文件时读取文件没什么大不了的,这是每个尾部程序的目的,但是删除已打开文件的已读取内容......我认为这是不可能的。

您可能想考虑一种解决方法。例如,您可以有许多{0,n}具有相同字节限制的文件要写入。开始写出最高可用数字的位置file_i,然后上升到。读取从可用的最低值开始,读取到并在完成时删除刚刚使用的文件。i{0,n}limitfile_ilimit

于 2013-05-30T21:11:38.067 回答
0

我们还没有听说我们的朋友 user2386567 正在使用什么操作系统,但作为其他答案的对立面,声明不可能从文件中间删除数据,我想指出 LinuxFALLOC_FL_PUNCH_HOLE正是为了这个目的.

于 2013-05-30T21:56:52.783 回答