Nir*_*han 0 java file-io
我有一个文件,我写了一些java对象.写完之后,有时我需要删除一些放在文件中ramndom位置的对象.有没有办法从文件中删除选定的对象而不替换整个文件?
谢谢.
Jon*_*eet 5
不,这基本上是大多数文件系统不支持的.(可能有一些使用特殊的数据结构使其便宜,但大多数都没有 - 并且标准API不支持这个想法.)
"删除"文件的一部分的最简单方法是将所需的位复制到新文件中.如果你只是删除末尾附近的位,你可能会避免再次复制它的开头,但这需要更复杂的代码.
在对象流的情况下,您可能最好只读取一个流中的对象,并将您仍想要的对象写入新流中.(显然你可以在之后重命名输出文件.)通过自己查看序列化格式,你可以避免重复反序列化/序列化所需的一些处理,但我会选择简单的路由开始.
归档时间:
15 年,5 月 前
查看次数:
2586 次
最近记录:
11 年,4 月 前