我有很多文件需要存儲在單個存檔文件中。我的第一個方法是將文件存儲在gzip壓縮包中。問題是,如果添加單個文件,我必須重寫整個存檔。 我可以擺脫gzip壓縮,但添加文件仍然很昂貴。將文件附加到存檔而不讀取/重寫整個存檔
你會建議哪些其他檔案格式允許快速追加操作?
我有很多文件需要存儲在單個存檔文件中。我的第一個方法是將文件存儲在gzip壓縮包中。問題是,如果添加單個文件,我必須重寫整個存檔。 我可以擺脫gzip壓縮,但添加文件仍然很昂貴。將文件附加到存檔而不讀取/重寫整個存檔
你會建議哪些其他檔案格式允許快速追加操作?
ZIP file format被設計爲允許追加而不需要重新寫入並且無處不在,即使在Unix上也是如此。
這個問題http://stackoverflow.com/questions/2223434/appending-files-to-a-zip-file-with-java是高度相關的。我不確定是否有任何(Java)實現允許在不進行全部重寫的情況下進行附加操作。 – 2010-06-08 09:16:55
ZIP和TAR格式(和舊的AR格式)允許文件追加而不需要完全重寫。但是:
您是否可以自己編寫容器,或者您是否需要一個衆所周知的算法來使其他人員/系統能夠處理結果文件? – 2010-06-07 23:34:31
我儘量避免寫我自己的容器。一個原因是人們應該能夠打開文件,是的。我還會認爲編寫我自己的容器會導致更多的工作,並且最初是更多的錯誤。 – 2010-06-08 08:26:48