JavaTM 2 Platform
Std. Ed. v1.3

java.util.zip
クラス Deflater

java.lang.Object
  |
  +--java.util.zip.Deflater

public class Deflater
extends Object

このクラスは、一般的な ZLIB 圧縮ライブラリを使用して用途の広い圧縮のためのサポートを提供します。ZLIB 圧縮ライブラリは、当初 PNG グラフィック標準の一部として開発されたもので、特許では保護されていません。仕様の詳細は、「パッケージ java.util.zip の説明」を参照してください。

関連項目:
Inflater

フィールドの概要
static int BEST_COMPRESSION
          最適な圧縮のための圧縮レベルです。
static int BEST_SPEED
          最高速での圧縮のための圧縮レベルです。
static int DEFAULT_COMPRESSION
          デフォルトの圧縮レベルです。
static int DEFAULT_STRATEGY
          デフォルトの圧縮方法です。
static int DEFLATED
          deflate アルゴリズムのための圧縮メソッド (現在サポートされているのは 1 つだけ) です。
static int FILTERED
          小さい値がある程度ランダムに分布しているデータに最適な圧縮方法です。
static int HUFFMAN_ONLY
          ハフマン符号化だけのための圧縮方法です。
static int NO_COMPRESSION
          圧縮しない場合の圧縮レベルです。
 
コンストラクタの概要
Deflater()
          デフォルトの圧縮レベルで新しいコンプレッサを作成します。
Deflater(int level)
          指定された圧縮レベルで新しいコンプレッサを作成します。
Deflater(int level, boolean nowrap)
          指定された圧縮レベルで新しいコンプレッサを作成します。
 
メソッドの概要
 int deflate(byte[] b)
          指定されたバッファを圧縮データで満たします。
 int deflate(byte[] b, int off, int len)
          指定されたバッファを圧縮データで満たします。
 void end()
          コンプレッサを閉じ、圧縮解除された入力をすべて破棄します。
protected  void finalize()
          ガベージコレクションが行われたときにコンプレッサを閉じます。
 void finish()
          このメソッドが呼び出されると、圧縮が入力バッファの現在の内容で終了する必要があることを示します。
 boolean finished()
          圧縮データ出力ストリームの最後に達した場合に true を返します。
 int getAdler()
          圧縮解除データの ADLER-32 値を返します。
 int getTotalIn()
          これまでに入力されたバイトの総数を返します。
 int getTotalOut()
          これまでに出力されたバイトの総数を返します。
 boolean needsInput()
          入力データバッファが空なので、さらに入力を提供するために setInput() を呼び出す必要がある場合に true を返します。
 void reset()
          新しい入力データのセットを処理できるようにデフレータをリセットします。
 void setDictionary(byte[] b)
          圧縮のためのプリセットディクショナリを設定します。
 void setDictionary(byte[] b, int off, int len)
          圧縮のためのプリセットディクショナリを設定します。
 void setInput(byte[] b)
          圧縮のための入力データを設定します。
 void setInput(byte[] b, int off, int len)
          圧縮のための入力データを設定します。
 void setLevel(int level)
          現在の圧縮レベルに、指定された値を設定します。
 void setStrategy(int strategy)
          圧縮方法を設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFLATED

public static final int DEFLATED
deflate アルゴリズムのための圧縮メソッド (現在サポートされているのは 1 つだけ) です。

NO_COMPRESSION

public static final int NO_COMPRESSION
圧縮しない場合の圧縮レベルです。

BEST_SPEED

public static final int BEST_SPEED
最高速での圧縮のための圧縮レベルです。

BEST_COMPRESSION

public static final int BEST_COMPRESSION
最適な圧縮のための圧縮レベルです。

DEFAULT_COMPRESSION

public static final int DEFAULT_COMPRESSION
デフォルトの圧縮レベルです。

FILTERED

public static final int FILTERED
小さい値がある程度ランダムに分布しているデータに最適な圧縮方法です。ハフマン符号化を増やし、文字列マッチングを減らします。

HUFFMAN_ONLY

public static final int HUFFMAN_ONLY
ハフマン符号化だけのための圧縮方法です。

DEFAULT_STRATEGY

public static final int DEFAULT_STRATEGY
デフォルトの圧縮方法です。
コンストラクタの詳細

Deflater

public Deflater(int level,
                boolean nowrap)
指定された圧縮レベルで新しいコンプレッサを作成します。パラメータ nowrap が true の場合は、ZILB ヘッダフィールドおよびチェックサムフィールドは、GZIP および PKZIP の両方で使用される圧縮形式のサポートには使用されません。
パラメータ:
level - 圧縮レベル (0 〜 9)
nowrap - true の場合は GZIP 互換の圧縮を使用

Deflater

public Deflater(int level)
指定された圧縮レベルで新しいコンプレッサを作成します。圧縮データは ZLIB 形式で生成されます。
パラメータ:
level - 圧縮レベル (0 〜 9)

Deflater

public Deflater()
デフォルトの圧縮レベルで新しいコンプレッサを作成します。圧縮データは ZLIB 形式で生成されます。
メソッドの詳細

setInput

public void setInput(byte[] b,
                     int off,
                     int len)
圧縮のための入力データを設定します。needsInput() でさらに入力が必要であることを示す true が返されるときは、このメソッドを呼び出す必要があります。
パラメータ:
b - 入力データバイト
off - データの開始オフセット
len - データの長さ
関連項目:
needsInput()

setInput

public void setInput(byte[] b)
圧縮のための入力データを設定します。needsInput() でさらに入力が必要であることを示す true が返されるときは、このメソッドを呼び出す必要があります。
パラメータ:
b - 入力データバイト
関連項目:
needsInput()

setDictionary

public void setDictionary(byte[] b,
                          int off,
                          int len)
圧縮のためのプリセットディクショナリを設定します。プリセットディクショナリは、履歴バッファがあらかじめ決定できるときに使用されます。データがあとで Inflater.inflate() によって圧縮解除されるときに、Inflater.getAdler() を呼び出して圧縮解除に必要なディクショナリの Adler-32 値を取得できます。
パラメータ:
b - ディクショナリデータバイト
off - データの開始オフセット
len - データの長さ
関連項目:
Inflater.inflate(byte[], int, int), Inflater.getAdler()

setDictionary

public void setDictionary(byte[] b)
圧縮のためのプリセットディクショナリを設定します。プリセットディクショナリは、履歴バッファがあらかじめ決定できるときに使用されます。データがあとで Inflater.inflate() によって圧縮解除されるときに、Inflater.getAdler() を呼び出して圧縮解除に必要なディクショナリの Adler-32 値を取得できます。
パラメータ:
b - ディクショナリデータバイト
関連項目:
Inflater.inflate(byte[], int, int), Inflater.getAdler()

setStrategy

public void setStrategy(int strategy)
圧縮方法を設定します。
パラメータ:
strategy - 新しい圧縮方法
例外:
IllegalArgumentException - 圧縮方法が無効な場合

setLevel

public void setLevel(int level)
現在の圧縮レベルに、指定された値を設定します。
パラメータ:
level - 新しい圧縮レベル (0 〜 9)
例外:
IllegalArgumentException - 圧縮レベルが無効な場合

needsInput

public boolean needsInput()
入力データバッファが空なので、さらに入力を提供するために setInput() を呼び出す必要がある場合に true を返します。
戻り値:
入力データバッファが空なので、さらに入力を提供するために setInput() を呼び出す必要がある場合は true

finish

public void finish()
このメソッドが呼び出されると、圧縮が入力バッファの現在の内容で終了する必要があることを示します。

finished

public boolean finished()
圧縮データ出力ストリームの最後に達した場合に true を返します。
戻り値:
圧縮データ出力ストリームの最後に達した場合は true

deflate

public int deflate(byte[] b,
                   int off,
                   int len)
指定されたバッファを圧縮データで満たします。実際に圧縮されたデータのバイト数を返します。戻り値 0 は、さらに入力が必要かどうかを判断するために needsInput() を呼び出す必要があることを示します。
パラメータ:
b - 圧縮データのためのバッファ
off - データの開始オフセット
len - 圧縮データの最大バイト数
戻り値:
圧縮データの実効バイト数

deflate

public int deflate(byte[] b)
指定されたバッファを圧縮データで満たします。実際に圧縮されたデータのバイト数を返します。戻り値 0 は、さらに入力が必要かどうかを判断するために needsInput() を呼び出す必要があることを示します。
パラメータ:
b - 圧縮データのためのバッファ
戻り値:
圧縮データの実効バイト数

getAdler

public int getAdler()
圧縮解除データの ADLER-32 値を返します。
戻り値:
圧縮解除データの ADLER-32 値

getTotalIn

public int getTotalIn()
これまでに入力されたバイトの総数を返します。
戻り値:
これまでに入力されたバイトの総数

getTotalOut

public int getTotalOut()
これまでに出力されたバイトの総数を返します。
戻り値:
これまでに出力されたバイトの総数

reset

public void reset()
新しい入力データのセットを処理できるようにデフレータをリセットします。現在の圧縮レベルと圧縮方法を保持します。

end

public void end()
コンプレッサを閉じ、圧縮解除された入力をすべて破棄します。このメソッドは、コンプレッサを使用しなくなったときに呼び出す必要がありますが、finalize() メソッドによっても自動的に呼び出されます。このメソッドが呼び出されたあとの Deflater オブジェクトの動作は保証されません。

finalize

protected void finalize()
ガベージコレクションが行われたときにコンプレッサを閉じます。
オーバーライド:
クラス Object 内の finalize
クラス java.lang.Object からコピーされたタグ:
例外:
Throwable - このメソッドで生じた Exception

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.