私のチームと私は、Java ライブラリをサポートし、より大きなファイルに関するさまざまなメタデータを保持するファイル形式の要件を与えられました。実際、大きなファイル (おそらく 100MB) と他の関連ファイル (メタデータ、非破壊編集など) を 1 つのバンドルされたアーカイブ ファイルにラップすることを望んでいます。
1 回限りの作成の場合は簡単です。すべてを Zip ファイルに入れるだけです。しかし、メタデータや非破壊編集などを常に更新できるようにしたいと考えています。メタデータ ファイル。
いくつかのプロジェクト (例: TrueVFS ) では、zip ファイルやその他のアーカイブ ファイル形式をファイル システムとして抽象化することを主張することで、一見理想的に聞こえます。しかし、よく調べてみると、インプレース更新機能は単純に新しいファイルを追加するだけで、実際に個々のファイルを変更したり追加したりすることはないように思われます。
必要なのは、Zip ファイルとリレーショナル データベースの間のファイル形式です。階層構造のあるものは素晴らしいでしょう。かなり大きなファイル (100MB 以上) を効率的にサポートし、ランダム アクセスでアーカイブ内の個々のファイルを追加、削除、および変更できるようにする必要があります。何も見つからないことに驚いた。助言がありますか?
PS 私は何年も前に、Microsoft の複合ファイル形式が破損するという悪い経験をしました。Apache POIFSのようなものが信頼性が高く、大きなファイルで効率的かどうかはわかりません。