LHA Library for Java

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

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

public class PreLh5Decoder
extends Object
implements PreLzssDecoder

-lh4-, -lh5-, -lh6-, -lh7- 解凍用の PreLzssDecoder。

 -- revision history --
 $Log: PreLh5Decoder.java,v $
 Revision 1.3  2002/12/08 00:00:00  dangan
 [bug fix]
     readCode でハフマン符号読み込み途中で
     EndOfStream に達した場合に EOFException を投げていなかった。

 Revision 1.2  2002/12/08 00:00:00  dangan
 [change]
     クラス名 を PreLh5DecoderFast から PreLh5Decoder に変更。

 Revision 1.1  2002/12/06 00:00:00  dangan
 [maintenance]
     ソース整備

 Revision 1.0  2002/08/05 00:00:00  dangan
 add to version control
 [maintenance]
     最新の BitInputStream と PreLh5Decoder からソースを取り込む。
     ソース整備
     タブ廃止
     ライセンス文の修正

 

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

コンストラクタの概要
PreLh5Decoder(InputStream in)
          -lh5- 解凍用 PreLzssDecoder を構築する。
PreLh5Decoder(InputStream in, String method)
          -lh4-,-lh5-,-lh6-,-lh7- 解凍用 PreLzssDecoder を構築する。
PreLh5Decoder(InputStream in, String method, int CodeTableBits, int OffLenTableBits)
          -lh4-,-lh5-,-lh6-,-lh7- 解凍用 PreLzssDecoder を構築する。
 
メソッドの概要
 int available()
          ブロックせずに読み出すことの出来る最低バイト数を得る。
 void close()
          このストリームを閉じ、使用していた全ての資源を解放する。
 int getDictionarySize()
          この PreLh5Decoder が扱うLZSS辞書のサイズを得る。
 int getMaxMatch()
          この PreLh5Decoder が扱うLZSSの最大一致長を得る。
 int getThreshold()
          この PreLh5Decoder が扱う圧縮、非圧縮の閾値を得る。
 void mark(int readLimit)
          接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の 読み込み位置に 戻れるようにする。
 boolean markSupported()
          接続された入力ストリームが mark() と reset() を サポートするかを得る。
 int readCode()
          -lh5- 系の圧縮法で圧縮された 1byte のLZSS未圧縮のデータ、 もしくは圧縮コードのうち一致長を読み込む。
 int readOffset()
          -lh5- 系の圧縮法で圧縮された LZSS圧縮コードのうち一致位置を読み込む。
 void reset()
          接続された入力ストリームの読み込み位置を最後に mark() メソッドが呼び出されたときの位置に設定する。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PreLh5Decoder

public PreLh5Decoder(InputStream in)
-lh5- 解凍用 PreLzssDecoder を構築する。
テーブルサイズはデフォルト値を使用する。

パラメータ:
in - -lh5-形式の圧縮データを供給する入力ストリーム

PreLh5Decoder

public PreLh5Decoder(InputStream in,
                     String method)
-lh4-,-lh5-,-lh6-,-lh7- 解凍用 PreLzssDecoder を構築する。
テーブルサイズには デフォルト値を使用する。

パラメータ:
in - 圧縮データを供給する入力ストリーム
method - 圧縮法識別子
   CompressMethod.LH4
   CompressMethod.LH5
   CompressMethod.LH6
   CompressMethod.LH7
   の何れかを指定する。
例外:
IllegalArgumentException - method が上記以外の場合

PreLh5Decoder

public PreLh5Decoder(InputStream in,
                     String method,
                     int CodeTableBits,
                     int OffLenTableBits)
-lh4-,-lh5-,-lh6-,-lh7- 解凍用 PreLzssDecoder を構築する。

パラメータ:
in - 圧縮データを供給する入力ストリーム
method - 圧縮法識別子
   CompressMethod.LH4
   CompressMethod.LH5
   CompressMethod.LH6
   CompressMethod.LH7
   の何れかを指定する。
CodeTableBits - code 部を復号するために使用する テーブルのサイズをビット長で指定する。 12 を指定すれば 4096 のルックアップテーブルを生成する。
OffLenTableBits - offLen 部を復号するために使用する テーブルのサイズをビット長で指定する。 8 を指定すれば 256 のルックアップテーブルを生成する。
例外:
IllegalArgumentException -
   (1) method が上記以外の場合
   (2) CodeTableBits もしくは OffLenTableBits が 0以下の場合
   の何れか
メソッドの詳細

readCode

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

定義:
インタフェース PreLzssDecoder 内の readCode
戻り値:
1byte の 未圧縮のデータ、 もしくは圧縮された圧縮コードのうち一致長
例外:
IOException - 入出力エラーが発生した場合
EOFException - EndOfStreamに達した場合
BadHuffmanTableException - ハフマン木を構成するための ハフマン符号長の表が不正である場合

readOffset

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

定義:
インタフェース PreLzssDecoder 内の readOffset
戻り値:
-lh5- 系で圧縮された圧縮コードのうち一致位置
例外:
IOException - 入出力エラーが発生した場合

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 -
   (1) mark() せずに reset() しようとした場合。
   (2) 接続された入力ストリームが markSupported()で false を返す場合。
   (3) 接続された入力ストリームで 入出力エラーが発生した場合。
   の何れか。

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()
この PreLh5Decoder が扱うLZSS辞書のサイズを得る。

定義:
インタフェース PreLzssDecoder 内の getDictionarySize
戻り値:
この PreLh5Decoder が扱うLZSS辞書のサイズ

getMaxMatch

public int getMaxMatch()
この PreLh5Decoder が扱うLZSSの最大一致長を得る。

定義:
インタフェース PreLzssDecoder 内の getMaxMatch
戻り値:
この PreLh5Decoder が扱うLZSSの最大一致長

getThreshold

public int getThreshold()
この PreLh5Decoder が扱う圧縮、非圧縮の閾値を得る。

定義:
インタフェース PreLzssDecoder 内の getThreshold
戻り値:
この PreLh5Decoder が扱う圧縮、非圧縮の閾値

LHA Library for Java

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