大尺寸文件,我有以下格式的二進制文件:讀/寫在Java
[N bytes identifier & record length] [n1 bytes data]
[N bytes identifier & record length] [n2 bytes data]
[N bytes identifier & record length] [n3 bytes data]
,你看,我有不同長度的記錄。在每條記錄中,我有固定的N個字節,其中包含和編號爲的數據長度爲。
這個文件很大,可以包含3百萬條記錄。
我想要通過應用程序打開此文件並讓用戶瀏覽和編輯記錄。 (插入/更新/刪除記錄)
我最初的計劃是創建和索引文件從原始文件和每個記錄,保持下一個和前一個記錄地址輕鬆前進和後退導航。 (某種鏈接列表,但文件不在內存中)
是否有庫(java庫)來幫助我實現這個要求?
您認爲有用的任何建議或經驗?
-----------------編輯------------------------- ---------------------
感謝指導和建議,
一些更多的信息:
原始文件,格式是不在我的控制之下(這是第三方文件),我無法更改文件格式。但我必須閱讀它,讓用戶瀏覽記錄並編輯它們中的一些(插入新記錄/更新現有記錄/刪除記錄)並在末尾將其保存回原始文件格式。
你還在推薦使用DataBase而不是普通的索引文件嗎?
----------------- SECOND EDIT --------------------------- -------------------
更新模式下的記錄大小是固定的。這意味着更新(編輯)的記錄與原始記錄的長度相同,除非用戶刪除記錄並創建另一種格式不同的記錄。
非常感謝
使用數據庫中的JRecord溶液才起作用。甚至連sqlite也能讓你安心使用這麼多的數據。 – 2011-04-01 11:17:00
似乎像向前導航已經很簡單,但後向和隨機訪問不是。你想完成什麼?您希望用戶能夠編輯記錄,但是性能是一個問題? – JackWilson 2011-04-01 11:17:38
@JackWilson:是的,正如你所說的,向前導航很簡單,但是向後是一個問題,這就是我用自定義格式思考索引文件的方法。 – mhshams 2011-04-04 02:07:02