|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.util.zip.Inflater
public class Inflater
このクラスは、一般的な ZLIB 圧縮ライブラリを使用して汎用の圧縮解除をサポートします。ZLIB 圧縮ライブラリは、当初 PNG グラフィック標準の一部として開発されたもので、特許では保護されていません。仕様の詳細は、「パッケージ java.util.zip の説明」を参照してください。
次に、Deflater および Inflater を使用して文字列をいくらか圧縮および圧縮解除するコードを示します。
try {
// Encode a String into bytes
String inputString = "blahblahblah??";
byte[] input = inputString.getBytes("UTF-8");
// Compress the bytes
byte[] output = new byte[100];
Deflater compresser = new Deflater();
compresser.setInput(input);
compresser.finish();
int compressedDataLength = compresser.deflate(output);
// Decompress the bytes
Inflater decompresser = new Inflater();
decompresser.setInput(output, 0, compressedDataLength);
byte[] result = new byte[100];
int resultLength = decompresser.inflate(result);
decompresser.end();
// Decode the bytes into a String
String outputString = new String(result, 0, resultLength, "UTF-8");
} catch(java.io.UnsupportedEncodingException ex) {
// handle
} catch (java.util.zip.DataFormatException ex) {
// handle
}
Deflater| コンストラクタの概要 | |
|---|---|
Inflater()
新しいデコンプレッサを作成します。 |
|
Inflater(boolean nowrap)
新しいデコンプレッサを作成します。 |
|
| メソッドの概要 | |
|---|---|
void |
end()
デコンプレッサを閉じ、圧縮解除された入力をすべて破棄します。 |
protected void |
finalize()
ガベージコレクションが行われたときにデコンプレッサを閉じます。 |
boolean |
finished()
圧縮データストリームの最後に達した場合に true を返します。 |
int |
getAdler()
圧縮解除データの ADLER-32 値を返します。 |
long |
getBytesRead()
これまでに入力された、圧縮されたバイトの総数を返します。 |
long |
getBytesWritten()
これまでに出力された、圧縮解除されたバイトの総数を返します。 |
int |
getRemaining()
入力バッファーに残っているバイトの総数を返します。 |
int |
getTotalIn()
これまでに入力された、圧縮されたバイトの総数を返します。 |
int |
getTotalOut()
これまでに出力された、圧縮解除されたバイトの総数を返します。 |
int |
inflate(byte[] b)
指定されたバッファーにバイトを圧縮解除します。 |
int |
inflate(byte[] b,
int off,
int len)
指定されたバッファーにバイトを圧縮解除します。 |
boolean |
needsDictionary()
プリセットディクショナリが圧縮解除に必要な場合に true を返します。 |
boolean |
needsInput()
入力バッファーにデータが残っていない場合に 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)
圧縮解除のための入力データを設定します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public Inflater(boolean nowrap)
注:nowrap オプションを使用する場合は、入力として特別な「ダミー」バイトを指定する必要があります。これは、最適化を行うために ZLIB ネイティブライブラリで必要となります。
nowrap - true の場合は GZIP 互換の圧縮をサポートpublic Inflater()
| メソッドの詳細 |
|---|
public void setInput(byte[] b,
int off,
int len)
b - 入力データバイトoff - 入力データの開始オフセットlen - 入力データの長さneedsInput()public void setInput(byte[] b)
b - 入力データバイトneedsInput()
public void setDictionary(byte[] b,
int off,
int len)
b - ディクショナリデータバイトoff - データの開始オフセットlen - データの長さneedsDictionary(),
getAdler()public void setDictionary(byte[] b)
b - ディクショナリデータバイトneedsDictionary(),
getAdler()public int getRemaining()
public boolean needsInput()
public boolean needsDictionary()
setDictionary(byte[], int, int)public boolean finished()
public int inflate(byte[] b,
int off,
int len)
throws DataFormatException
b - 圧縮解除されるデータ用のバッファーoff - データの開始オフセットlen - 圧縮解除される最大バイト数
DataFormatException - 圧縮データ形式が無効な場合needsInput(),
needsDictionary()
public int inflate(byte[] b)
throws DataFormatException
b - 圧縮解除されるデータ用のバッファー
DataFormatException - 圧縮データ形式が無効な場合needsInput(),
needsDictionary()public int getAdler()
public int getTotalIn()
バイト数は Integer.MAX_VALUE よりも大きくなる場合があるため、この情報を得る場合は getBytesRead() メソッドの方を優先的に使用してください。
public long getBytesRead()
public int getTotalOut()
バイト数は Integer.MAX_VALUE よりも大きくなる場合があるため、この情報を得る場合は getBytesWritten() メソッドの方を優先的に使用してください。
public long getBytesWritten()
public void reset()
public void end()
protected void finalize()
Object 内の finalize
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。