3

これは本当に 2 つの部分からなる質問です。

序文: WinRARを使用してファイルを圧縮しています。特定のファイルのみを圧縮するオプションを提供します。たとえば、JPEG ファイルは圧縮されず、他のファイルは圧縮されるように、ファイル拡張子でフィルター処理できます。

  1. これは一般的に ZIP ファイルで実行できますか、それとも WinRAR/RAR 形式の機能のみですか?

  2. ZIP 形式でできる場合、Java のZipOutputStreamクラスを使用してそれを行う方法はありますか? それとも、他の ZIP Java 実装を使用しているのでしょうか?

明確にするために、特定の拡張子を持つファイルのみを圧縮するように ZipOutputStream に指示したいと思います。これは可能ですか?

ありがとう

4

2 に答える 2

3

はい、でできますZipOutputStream。各ファイルの前(または変更したいとき)に、 from 、あなたの場合setLevelは定数で呼び出します。これに関するドキュメントはより明確になるはずです。DeflaterDeflater.NO_COMPRESSION

このロジックを処理ZipOutputStreamするオーバーライドのサブクラスを簡単に作成できます。putNextEntry

于 2011-09-28T05:02:02.510 に答える
1

ZipOutputStream には、後続のエントリを圧縮するかどうか、および圧縮レベルを制御するメソッドあります

これは、ZipEntry レベル(優先される場合) で指定することもできます。

于 2011-09-28T05:02:13.710 に答える