【发布时间】:2026-02-08 03:05:02
【问题描述】:
我正在尝试将行写入行位置 n 的文件中。
即使第 n 行不存在。在这种情况下,文件必须以空行增长才能达到 n。基本上类似于writer.writeLine(n, mycontent)。 mycontent 是来自ObjectOutputStream 的二进制表示。文件的每一行都包含一个序列化对象。行号是索引。
如何写入特定行? - 不使用 FileUtils 或任何非标准 API 组件。
This answer 几乎总结了我想要的东西——但在写作时,它的表现似乎有所不同。
编辑:由于cmets,我澄清了我的问题
【问题讨论】:
-
BufferedWriter 包装到 ObjectOutputStream 中?你能澄清一下吗?
-
你的问题很不清楚。 ObjectOutputStream 将写入二进制数据 - ObjectOutputStream 中没有“线”这样的概念。
-
抱歉,我更新了我的问题。我使用行号作为索引再次从“容器”文件中查找序列化对象。问题是如果行号是索引,我必须能够选择在文件中写入的位置。而且我不想完全缓存它。