2008-09-17 9 views
1

私はQuake、OO、およびMS Office 07のような私のアプリケーション用のファイル形式を作成したいと思います。コンテナファイルを作成するにはどうすればよいですか?

基本的に、圧縮されていないzipフォルダまたはtarファイル。

私はこれをクロスプラットフォーム(MacとWindows)にする必要があります。

コマンドプロンプトとbashで何かできますか?

答えて

2

オープンソース7Zipの圧縮形式をご覧ください。あなたの特定のニーズに合わせて、圧縮率はゼロですが非常に高速な「アーカイブ」モードで使用できます。

それは強力なSDKは、LZMAは、サイトから提供しています。

「LZMAは、デフォルトと7-zipプログラムでの7z形式の一般的な圧縮方法であるLZMAは、高圧縮率と非常に高速な解凍を提供し、

LZMA SDKは、使用するアプリケーションを開発するために必要なドキュメント、サンプル、ヘッダーファイル、ライブラリ、およびツールを提供しています(例:ROM(ファームウェア)の圧縮に使用できます)。 LZMA圧縮 "

2

ジップはどこでもサポートされています。コンテナが必要なものであれば、それらは確かに良いオプションです。

+0

私はこの回答に強く同意します。たとえば、Javaのjarファイルを使用します。実際にはZIPファイルであることが非常に便利です。 Red HatのRPMはcpioファイルです。いずれの場合も、コマンドラインから開くことができます。つまり、理解しやすくトラブルシューティングすることができます。 –

+0

Gzipはコンテナ形式ではありません。それは圧縮フォーマットであり、単一のファイルまたはデータストリームのみを圧縮することができる。 –

3

すべてのプラットフォームに移植可能で構造化されたデータを含む単一のファイルが必要な場合は、sqliteの使用を検討してください。単一のファイルとしてディスク上に存在するフル装備のACID準拠データベースを取得します。

ファイルに直接アクセスするためにリンクできるライブラリがあり、コマンドラインツールもあります。あなたが使っている言語が何であっても、おそらくそれがサポートされています。あなた自身に尋ねるべきで

http://www.sqlite.org

0

まず最初は「私は本当に自分自身を作成する必要がありますか?」であり、

あなたが使用したいものによっては、一般的なフォーマットと、それらのフォーマットのうちの1つをすでにうまく処理している既製のライブラリを使用する方がよいでしょう。

開始するには良い場所: http://www.destructor.de/libtar/index.htm(タール - 「コンテナ」形式) http://www.zlib.net/(ZLIB - データを圧縮する方法あなたは、コンテナに入れて前または後に)

まだあなたの場合

http://en.wikipedia.org/wiki/Tar_(file_format) または http://schmidt.devlib.org/file-formats/tar-archive-file-format.html

1

SQLI:本当にあなたがあなた自身にする必要があると思う、私は、tarのフォーマットのような、非常に単純な最初の何かを勉強お勧めしますテは素晴らしいです。

単一のファイル、クロスプラットフォーム、小さなライブラリ、データへのSQLアクセス、トランザクション、全体のエンチャラダ。

クラッシュした場合に一貫したリターンポイントを保証するためにトランザクションを使用することができます。 uses for sqliteをチェックすると、デスクトップアプリケーションのデータモデルレイヤーとして使用することを特に推奨しています。

また、手動でデータにアクセスするためのコマンドラインツールもあります。

0

フォーマットを作る代わりに、私は慣例を決めます。コンテナ内の1つ以上の名前付きファイルには、残りのファイルにアクセスするために必要なメタデータがあり、それらの処理方法を知っています。しかし、コンテナ自体は、ちょうどzipのようないくつかのユビキタス形式でなければなりません。車輪を再発明する必要はありません。

関連する問題