2012-04-25 45 views
1

我有一個從純文本文件讀取的程序。這些文件的數量可以超過500萬!在一個文件中索引多個文件

當我讀他們時,我發現他們的名字!該名稱,例如矩陣X和Y基本上保存440x300.txt

現在我希望把所有的人都在一個大文件和索引他們

我的意思是我想現在正是例如440x300 .txt保存在從哪個字節到哪個字節結束的文件中!

我的第一個想法是創建一個單獨的文件,並保存該信息中,像每行包含440×300 150883 173553

但找到這個信息也將大量的時間!

我想知道如果是更好的方法來找出他們從哪裏開始和結束!

不知何故索引文件

請幫

通過我在Java編程的方式。

提前感謝您的時間。

+0

什麼不清楚!?問我會回答,因爲我不知道什麼是失蹤!抱歉! – Khashayar 2012-04-25 13:33:52

+0

*「這些文件的數量可以多於500萬!」*這是兆字節數量,文檔數量,千克..? – 2012-04-25 13:38:08

+0

文件數量!每個文件可以像10-50 KB一樣! – Khashayar 2012-04-25 13:39:01

回答

0

如果您只需要讀取這些文件,我會批量歸檔它們。例如使用ZIP或Jar格式。這支持文件的命名和索引,您可以使用標準工具構建,更新和檢查它們。

可以將500萬個文件歸入一個歸檔,但使用少量歸檔可能更易於管理。

順便說一句:由於文件是文本,壓縮它們也會使它們變小。你可以通過創建一個ZIP或JAR來說明你自己來試試這個。

+0

沒有事情是我想先保存它們,然後在另一個程序中讀取它們!我無法將它們每次都歸檔,並且在我想閱讀它們時提取它們! – Khashayar 2012-04-25 13:35:27

+0

您可以將它們提取到內存中,而不是單個文件。這與你的建議沒有什麼不同。 – 2012-04-25 13:36:18

+0

我的建議很糟糕,這就是爲什麼我正在尋找更好的解決方案! – Khashayar 2012-04-25 13:38:26

0

如果您希望能夠將您的文件中做直接尋址,那麼你有兩個選擇:

  1. 有你的文件的開頭索引,所以你可以查找基礎上,開始/結束地址(x,y)
  2. 使所有記錄的大小完全相同(以字節爲單位),以便您可以輕鬆計算文件中記錄的位置。

    1. 你有你的矩陣中的每個單元記錄:

    選擇正確的選項應根據以下標準來進行?

  3. 矩陣值是否改變?
  4. 矩陣尺寸是否改變?
  5. 矩陣中的值是否有固定的字節長度(即它們是數字還是字符串)?
+0

不,他們沒有相同的數據大小,這就是爲什麼我不能做選項二! – Khashayar 2012-04-25 13:36:34

+0

爲選項之一,問題是閱讀文件的第一行也需要很多時間!其5百萬! – Khashayar 2012-04-25 13:37:01

+0

還有別的嗎? – Khashayar 2012-04-25 13:37:10

相關問題