0

假设我有一个包含许多子文档的文件

//file.txt

BEGIN_FILE_1
loremipsumloremipsumloremipsum
loremipsumloremipsum
END_FILE_1

BEGIN_FILE_2
cupcakeipsum
cupcakeipsumcupcakeipsum
END_FILE_2

可以使用什么样的定界(或某种替代策略)以使所述子文档的读取速度很快(即解释定界速度很快),但更重要的是,子文档的写入速度很快。请注意,容器文件将非常大(100MB 左右)。

我打算使用 FileWriter 来编写文件。

谢谢!

4

1 回答 1

0

通常,最佳策略取决于上下文 - 有多少子文档,每个文档是否只写入一次或更新/修改,每个子文档的大小是否已知/每个子文档的至少最大大小已知,哪种操作占优势(对于每次写入操作都会有大约 10 次读取,或者相反)?

假设子文档将被添加和读取但不被修改,最佳策略可能是使用标题指定文件数,以及每个文件在文件中开始/结束的行。像 - 第一行总是标题,然后是第 1..N FILE1、N+1..M FILE2 等行:

NUMBER_OF_FILES 个 FILE1_NAME FILE1_START FILE1_END FILE2_NAME FILE2_START FILE2_END

这将允许通过仅解析标题并直接读取该文件而不是通过文档搜索文件来读取任何文件的内容,并且写入只需要修改标题并写入文件末尾。

如果文件被修改/覆盖但大小固定,此策略可能仍然有用,因为覆盖操作会很快

于 2013-04-11T17:13:01.720 回答