public class PreLh3Decoder extends java.lang.Object implements PreLzssDecoder
-- revision history -- $Log: PreLh3Decoder.java,v $ Revision 1.1 2002/12/01 00:00:00 dangan [maintenance] ソース整備 Revision 1.0 2002/08/05 00:00:00 dangan add to version control [bug fix] available の計算が甘かったのを修正。 [maintenance] ソース整備 タブ廃止 ライセンス文の修正
Constructor and Description |
---|
PreLh3Decoder(java.io.InputStream in)
-lh3- 解凍用 PreLzssDecoder を構築する。
テーブルサイズには デフォルト値を使用する。 |
PreLh3Decoder(java.io.InputStream in,
int CodeTableBits,
int OffHiTableBits)
-lh3- 解凍用 PreLzssDecoder を構築する。
|
Modifier and Type | Method and Description |
---|---|
int |
available()
ブロックせずに読み出すことの出来る最低バイト数を得る。
InputStream の available() と違い、 この最低バイト数は必ずしも保障されていない事に注意すること。 |
void |
close()
このストリームを閉じ、使用していた全ての資源を解放する。
|
int |
getDictionarySize()
-lh3-形式の LZSS辞書のサイズを得る。
|
int |
getMaxMatch()
-lh3-形式の LZSSの最大一致長を得る。
|
int |
getThreshold()
-lh3-形式の LZSSの圧縮、非圧縮の閾値を得る。
|
void |
mark(int readLimit)
接続された入力ストリームの現在位置にマークを設定し、
reset() メソッドでマークした時点の 読み込み位置に
戻れるようにする。
InputStream の mark() と違い、readLimit で設定した 限界バイト数より前にマーク位置が無効になる可能性が ある事に注意すること。 |
boolean |
markSupported()
接続された入力ストリームが mark() と reset() を
サポートするかを得る。
|
int |
readCode()
-lh3- で圧縮された
1byte のLZSS未圧縮のデータ、
もしくは圧縮コードのうち一致長を読み込む。
|
int |
readOffset()
-lh3- で圧縮された
LZSS圧縮コードのうち一致位置を読み込む。
|
void |
reset()
接続された入力ストリームの読み込み位置を最後に
mark() メソッドが呼び出されたときの位置に設定する。
|
public PreLh3Decoder(java.io.InputStream in)
in
- 圧縮データを供給する入力ストリームpublic PreLh3Decoder(java.io.InputStream in, int CodeTableBits, int OffHiTableBits)
in
- 圧縮データを供給する入力ストリームCodeTableBits
- code 部を復号するために使用する
テーブルのサイズをビット長で指定する。
12 を指定すれば 4096 のルックアップテーブルを生成する。OffHiTableBits
- offHi 部を復号するために使用する
テーブルのサイズをビット長で指定する。
8 を指定すれば 256 のルックアップテーブルを生成する。java.lang.IllegalArgumentException
- CodeTableBits, OffHiTableBits が 0以下の場合public int readCode() throws java.io.IOException
readCode
in interface PreLzssDecoder
java.io.IOException
- 入出力エラーが発生した場合java.io.EOFException
- EndOfStreamに達した場合BadHuffmanTableException
- ハフマン木を構成するための
ハフマン符号長の表が不正なため、
ハフマン復号器が生成できない場合public int readOffset() throws java.io.IOException
readOffset
in interface PreLzssDecoder
java.io.IOException
- 入出力エラーが発生した場合public void mark(int readLimit)
mark
in interface PreLzssDecoder
readLimit
- マーク位置に戻れる限界のバイト数。
このバイト数を超えてデータを読み
込んだ場合 reset()できなくなる可
能性がある。PreLzssDecoder.mark(int)
public void reset() throws java.io.IOException
reset
in interface PreLzssDecoder
java.io.IOException
- 入出力エラーが発生した場合public boolean markSupported()
markSupported
in interface PreLzssDecoder
public int available() throws java.io.IOException
available
in interface PreLzssDecoder
java.io.IOException
- 入出力エラーが発生した場合PreLzssDecoder.available()
public void close() throws java.io.IOException
close
in interface PreLzssDecoder
java.io.IOException
- 入出力エラーが発生した場合public int getDictionarySize()
getDictionarySize
in interface PreLzssDecoder
public int getMaxMatch()
getMaxMatch
in interface PreLzssDecoder
public int getThreshold()
getThreshold
in interface PreLzssDecoder
When you found typographical errors or omissions, Please mail to cqw10305@nifty.com
The company name and product name which are used in this document, it is the trademark or registered trademark of each company generally.
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.