LHA Library for Java

jp.gr.java_conf.dangan.util.lha
クラス PreLh1Decoder

java.lang.Object
  拡張jp.gr.java_conf.dangan.util.lha.PreLh1Decoder
すべての実装インタフェース:
PreLzssDecoder

public class PreLh1Decoder
extends Object
implements PreLzssDecoder

-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]
     ソース整備

 

バージョン:
$Revision: 1.1 $
作成者:
$Author: dangan $

フィールドの概要
(パッケージプライベート)  DynamicHuffman huffman
          code部復号用の動的ハフマン木
(パッケージプライベート)  BitInputStream in
          -lh1- の圧縮データを供給する BitInputStream
(パッケージプライベート)  DynamicHuffman markHuffman
          huffman のバックアップ用
(パッケージプライベート)  int[] offHiLen
          オフセット部の上位6bit復号用 ハフマン符号長リスト。
(パッケージプライベート)  short[] offHiTable
          オフセット部の上位6bit復号用テーブル。
(パッケージプライベート)  int offHiTableBits
          オフセット部の上位6bit復号用テーブルを引くのに必要なbit数。
 
コンストラクタの概要
PreLh1Decoder(InputStream in)
          -lh1- 解凍用 PreLzssDecoder を構築する。
 
メソッドの概要
 int available()
          ブロックせずに読み出すことの出来る最低バイト数を得る。
 void close()
          このストリームを閉じ、使用していた全ての資源を解放する。
 int getDictionarySize()
          -lh1-形式のLZSS辞書のサイズを得る。
 int getMaxMatch()
          -lh1-形式のLZSSの最大一致長を得る。
 int getThreshold()
          -lh1-形式のLZSSの圧縮、非圧縮の閾値を得る。
 void mark(int readLimit)
          接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の 読み込み位置に 戻れるようにする。
 boolean markSupported()
          接続された入力ストリームが mark() と reset() をサポートするかを得る。
 int readCode()
          -lh1- で圧縮された 1byte のLZSS未圧縮のデータ、 もしくは圧縮コードのうち一致長を読み込む。
 int readOffset()
          -lh1- で圧縮された LZSS圧縮コードのうち一致位置を読み込む。
 void reset()
          接続された入力ストリームの読み込み位置を最後に mark() メソッドが呼び出されたときの位置に設定する。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

in

BitInputStream in
-lh1- の圧縮データを供給する BitInputStream


huffman

DynamicHuffman huffman
code部復号用の動的ハフマン木


offHiLen

int[] offHiLen
オフセット部の上位6bit復号用 ハフマン符号長リスト。


offHiTable

short[] offHiTable
オフセット部の上位6bit復号用テーブル。


offHiTableBits

int offHiTableBits
オフセット部の上位6bit復号用テーブルを引くのに必要なbit数。


markHuffman

DynamicHuffman markHuffman
huffman のバックアップ用

コンストラクタの詳細

PreLh1Decoder

public PreLh1Decoder(InputStream in)
-lh1- 解凍用 PreLzssDecoder を構築する。

パラメータ:
in - -lh1- で圧縮されたデータを供給する入力ストリーム
メソッドの詳細

readCode

public int readCode()
             throws IOException
-lh1- で圧縮された 1byte のLZSS未圧縮のデータ、 もしくは圧縮コードのうち一致長を読み込む。

定義:
インタフェース PreLzssDecoder 内の readCode
戻り値:
1byte の 未圧縮のデータもしくは、 圧縮された圧縮コードのうち一致長
例外:
IOException - 入出力エラーが発生した場合
EOFException - EndOfStreamに達した場合

readOffset

public int readOffset()
               throws IOException
-lh1- で圧縮された LZSS圧縮コードのうち一致位置を読み込む。

定義:
インタフェース PreLzssDecoder 内の readOffset
戻り値:
-lh1- で圧縮された圧縮コードのうち一致位置
例外:
IOException - 入出力エラーが発生した場合。
EOFException - データが途中までしかないため 予期せぬ EndOfStream に到達した場合。
BitDataBrokenException - データが途中までしかないため 予期せぬ EndOfStream に到達したか、 他の入出力エラーが発生した。
NotEnoughBitsException - データが途中までしかないため 予期せぬ EndOfStream に到達したか、 他の入出力エラーが発生した。

mark

public void mark(int readLimit)
接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の 読み込み位置に 戻れるようにする。
InputStream の mark() と違い、readLimit で設定した 限界バイト数より前にマーク位置が無効になる可能性が ある事に注意すること。

定義:
インタフェース PreLzssDecoder 内の mark
パラメータ:
readLimit - マーク位置に戻れる限界のバイト数。 このバイト数を超えてデータを読み 込んだ場合 reset()できなくなる可 能性がある。
関連項目:
PreLzssDecoder.mark(int)

reset

public void reset()
           throws IOException
接続された入力ストリームの読み込み位置を最後に mark() メソッドが呼び出されたときの位置に設定する。

定義:
インタフェース PreLzssDecoder 内の reset
例外:
IOException - 入出力エラーが発生した場合

markSupported

public boolean markSupported()
接続された入力ストリームが mark() と reset() をサポートするかを得る。

定義:
インタフェース PreLzssDecoder 内の markSupported
戻り値:
ストリームが mark() と reset() を サポートする場合は true。
サポートしない場合は false。

available

public int available()
              throws IOException
ブロックせずに読み出すことの出来る最低バイト数を得る。
InputStream の available() と違い、 この最低バイト数は必ずしも保障されていない事に注意すること。

定義:
インタフェース PreLzssDecoder 内の available
戻り値:
ブロックしないで読み出せる最低バイト数。
例外:
IOException - 入出力エラーが発生した場合
関連項目:
PreLzssDecoder.available()

close

public void close()
           throws IOException
このストリームを閉じ、使用していた全ての資源を解放する。

定義:
インタフェース PreLzssDecoder 内の close
例外:
IOException - 入出力エラーが発生した場合

getDictionarySize

public int getDictionarySize()
-lh1-形式のLZSS辞書のサイズを得る。

定義:
インタフェース PreLzssDecoder 内の getDictionarySize
戻り値:
-lh1-形式のLZSS辞書のサイズ

getMaxMatch

public int getMaxMatch()
-lh1-形式のLZSSの最大一致長を得る。

定義:
インタフェース PreLzssDecoder 内の getMaxMatch
戻り値:
-lh1-形式のLZSSの最大一致長

getThreshold

public int getThreshold()
-lh1-形式のLZSSの圧縮、非圧縮の閾値を得る。

定義:
インタフェース PreLzssDecoder 内の getThreshold
戻り値:
-lh1-形式のLZSSの圧縮、非圧縮の閾値

LHA Library for Java

バグやドキュメントの誤りの報告は作者宛てにお願いします。
ドキュメント内に含まれる社名、製品名については一般に各社の商標または登録商標です。
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.