|
LHA Library for Java | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjp.gr.java_conf.dangan.util.lha.PreLh1Decoder
public class PreLh1Decoder
-lh1- 解凍用の PreLzssDecoder。
-- revision history -- $Log: PreLh1Decoder.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] ソース整備
Field Summary | |
---|---|
(package private) DynamicHuffman |
huffman
code部復号用の動的ハフマン木 |
(package private) BitInputStream |
in
-lh1- の圧縮データを供給する BitInputStream |
(package private) DynamicHuffman |
markHuffman
huffman のバックアップ用 |
(package private) int[] |
offHiLen
オフセット部の上位6bit復号用 ハフマン符号長リスト。 |
(package private) short[] |
offHiTable
オフセット部の上位6bit復号用テーブル。 |
(package private) int |
offHiTableBits
オフセット部の上位6bit復号用テーブルを引くのに必要なbit数。 |
Constructor Summary | |
---|---|
PreLh1Decoder(java.io.InputStream in)
-lh1- 解凍用 PreLzssDecoder を構築する。 |
Method Summary | |
---|---|
int |
available()
ブロックせずに読み出すことの出来る最低バイト数を得る。 InputStream の available() と違い、 この最低バイト数は必ずしも保障されていない事に注意すること。 |
void |
close()
このストリームを閉じ、使用していた全ての資源を解放する。 |
int |
getDictionarySize()
-lh1-形式のLZSS辞書のサイズを得る。 |
int |
getMaxMatch()
-lh1-形式のLZSSの最大一致長を得る。 |
int |
getThreshold()
-lh1-形式のLZSSの圧縮、非圧縮の閾値を得る。 |
void |
mark(int readLimit)
接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の 読み込み位置に 戻れるようにする。 InputStream の mark() と違い、readLimit で設定した 限界バイト数より前にマーク位置が無効になる可能性が ある事に注意すること。 |
boolean |
markSupported()
接続された入力ストリームが mark() と reset() をサポートするかを得る。 |
int |
readCode()
-lh1- で圧縮された 1byte のLZSS未圧縮のデータ、 もしくは圧縮コードのうち一致長を読み込む。 |
int |
readOffset()
-lh1- で圧縮された LZSS圧縮コードのうち一致位置を読み込む。 |
void |
reset()
接続された入力ストリームの読み込み位置を最後に mark() メソッドが呼び出されたときの位置に設定する。 |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
BitInputStream in
DynamicHuffman huffman
int[] offHiLen
short[] offHiTable
int offHiTableBits
DynamicHuffman markHuffman
Constructor Detail |
---|
public PreLh1Decoder(java.io.InputStream in)
in
- -lh1- で圧縮されたデータを供給する入力ストリームMethod Detail |
---|
public int readCode() throws java.io.IOException
readCode
in interface PreLzssDecoder
java.io.IOException
- 入出力エラーが発生した場合
java.io.EOFException
- EndOfStreamに達した場合public int readOffset() throws java.io.IOException
readOffset
in interface PreLzssDecoder
java.io.IOException
- 入出力エラーが発生した場合。
java.io.EOFException
- データが途中までしかないため
予期せぬ EndOfStream に到達した場合。
BitDataBrokenException
- データが途中までしかないため
予期せぬ EndOfStream に到達したか、
他の入出力エラーが発生した。
NotEnoughBitsException
- データが途中までしかないため
予期せぬ EndOfStream に到達したか、
他の入出力エラーが発生した。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
|
LHA Library for Java | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |