我想知道是否有一种机制在写入文件时读取文件并删除已同时读取的内容。这样做的目的是因为文件存储在内存(ramdisk)中,随着文件大小的增加,我们需要删除已经处理的部分。
非常感谢!!!
PS:我正在使用Linux和Java。 :)
答案 0 :(得分:2)
无法从文件的开头或中间删除数据。使用多个文件处理数据,并在消费时将其删除。
答案 1 :(得分:1)
在写入文件时从文件读取没什么大不了的,这是每个尾程序的目的,但是删除已经读过的已打开文件的内容......我认为不可能。
你可能想要一个解决方案。例如,您可以拥有许多文件{0,n}
,并且要写入相同的字节限制。开始撰写file_i
i
,其中{0,n}
是[{1}}中可用的最高数字,最多可达limit
。阅读从最低可用file_i
开始,读取最多limit
,完成后删除刚刚使用的文件。
答案 2 :(得分:0)
我们还没有听说过我们的朋友user2386567正在使用的操作系统,但作为对其他答案的对应,声明无法从文件中间删除数据,我想指出Linux已{ {1}}出于这个目的。