2009-08-11 19 views
0

ファイルを圧縮するためのクロスプラットフォームソリューションが必要です。当社のサーバーは、Windows XP/Vista/7および3 Unixディストリビューション、SunOS、HPUX、およびAIX上で動作します。私たちのサーバーは、クライアントに戻される前に圧縮される必要のあるファイルを作成します。私たちの初期の考えは、ほとんどのサーバにjavaがインストールされているので、jarでファイルを圧縮することでしたが、明らかにjarはjreには含まれていません。私たちのサーバーはC言語で書かれており、圧縮ファイルを作成する必要があるアプリケーションはPerlです。クロスプラットフォームのファイル圧縮

インストールベースが大容量で、新しい必須アプリケーションを追加するのが一般的に難しいため、インストールしていないことが本当に好きです。 zipに使うことができるOSのそれぞれに組み込まれることが保証されているものはありますか?たとえそれぞれ別のものを使う必要があっても、それはおそらく大丈夫でしょう。

+0

を持っている場合は、それを解凍することができます。 – Milhous

+0

"java"タグが正しい場合は、Java 1.4 http://java.sun.com/j2se/1.4.2/docs/api/java/util/zip/GZIPOutputStream.html(およびGZIPInputStream)を使用できます。 –

答えて

7

あなたが何かをインストールしたくなければ、あなたはかなりSOLです。 Windowsはこれを簡単にしません。

あなた自身java.util.zipは、Java 2 Standard Editionの(J2SE)にある何かを書きたいので、あなたがしなければならないすべてはジップとjarファイルの名前を変更しているPerlは、jarファイルは実際にはジップされ、BTW Archive::Zip

+0

SOLが正解であることが判明しました。当社のインストールベースは非常にばかばかしく、お客様のすべてが文字通り何も持っていないものです。以前のバージョンにはバンドルされたzipアプリケーションが含まれていましたが、私たちのソフトウェアの新しいバージョン(jdkが必要です)ではjarを使用するようになります。フィードバックありがとうございました。 – Morinar

+1

JARファイル*が* ZIPファイルであることを少し気づかせてください。それはあなたにいくつかの前方互換性を与えるでしょう。 –

1

あなたはJavaは(関係なくのJREまたはJDK)をインストールしていない場合はいつでもオープンソースの圧縮ツールを配布したりしても、そのような7 ZIP's

1

などのアプリの一部として圧縮SDKを使用して検討することもでき、あなたはpack200を使用することができますアーカイブを作成して解凍するには、unpack200を使用します。 Pack200はかなり標準的なgzip圧縮を使用します。

pack200では、1つのアーカイブに複数のファイルを圧縮することはできません(gzipの性質)。必要な場合は、純粋なJavaで独自のツールを実装して、zipファイルを作成し、統合コマンドラインインターフェイス(Javaにはジップサポートが組み込まれています。some samplesを参照)を使用してどこでも実行できます。

もしあなたがそのルートに行くなら、bz2または7zipフォーマットのネイティブjava実装を使ってより良い圧縮を得ることもできます。

+0

これはWindowsマシン上で勝者のように見えますが、Unixのいずれのボックスでも見つからないようです。それは非標準的な場所か何かにあるでしょうか? – Morinar

+0

pack200は、Sun JDK、LinuxプラットフォームのJDK_HOME/binフォルダにあります。サーバーにGCJがインストールされていれば、運が悪いので、小さなアプリケーションをJavaで実装してアーカイブを作成する必要があります。 – CrazyCoder

4

私は7-zipが大好きですが、あなたのような状況では、私はいつも最小限の共通点に行きます:ZIP。シンプルな古いZIP。ほとんどのUnixとLinuxはzipunzipです。また、ウィンドウには、7-zipを含む多くのオプションがあり、zipファイルを操作できます。おそらくクライアントにはzipクライアントがインストールされているはずです。

関連する問題