索引一个文件中的多个文件

时间:2012-04-25 13:27:44

标签: java file

我有一个从纯文本文件中读取的程序。这些文件的数量可以超过500万!

当我读它们时,我发现它们的名字!名称基本上保存为矩阵的x和y,例如440x300.txt

现在我想将所有这些文件放在一个大文件中并将它们编入索引

我的意思是我现在要完全以440x300.txt为例保存在文件中,从哪个字节开始,以哪个字节结束!

我的第一个想法是创建一个单独的文件并保存此信息,就像每行包含440 x 300 150883 173553

但是找到这些信息也会花费很多时间!

我想知道这是否是一个更好的方法来找出它们的起点和终点!

以某种方式索引文件

请帮忙

顺便说一句,我是用Java编程的。

提前感谢您的时间。

2 个答案:

答案 0 :(得分:0)

如果您只需要阅读这些文件,我会将它们分批存档。例如使用ZIP或Jar格式。这支持文件的命名和索引,您可以使用标准工具构建,更新和检查它们。

可以将500万个文件放在一个存档中,但使用少量存档可能更易于管理。

BTW:由于文件是文本,压缩它们也会使它们变小。您可以通过创建一个简称为1000的ZIP或JAR来自己尝试。

答案 1 :(得分:0)

如果您希望能够在文件中进行直接寻址,那么您有两种选择:

  1. 在文件开头有一个索引,以便您可以根据(x,y)查找开始/结束地址
  2. 使所有记录的大小完全相同(以字节为单位),这样您就可以轻松计算文件中记录的位置。
  3. 应根据以下标准选择正确的选项:

    1. 您的矩阵中每个单元格都有记录吗?
    2. 矩阵值是否会改变?
    3. 矩阵维度是否会发生变化?
    4. 矩阵中的值是否具有固定的字节长度(即它们是数字还是字符串)?