LHA Library for Java

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

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

public class PostLh5Encoder
extends Object
implements PostLzssEncoder

-lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder。

 -- revision history --
 $Log: PostLh5Encoder.java,v $
 Revision 1.4  2002/12/08 00:00:00  dangan
 [change]
     クラス名 を PostLh5EncoderCombo から PostLh5Encoder に変更。

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

 Revision 1.2  2002/12/01 00:00:00  dangan
 [change]
     flush() されないかぎり 
     接続された OutputStream をflush() しないように変更。

 Revision 1.1  2002/12/01 00:00:00  dangan
 [bug fix] 
     writeOutGroup でローカル変数 offLenFreq を使用しなければ
     ならない部分で this.offLenFreq を使用していた。
 [maintenance]
     PostLh5Encoder から受け継いだインスタンスフィールド
     buffer, codeFreq, offLenFreq 廃止
     ソース整備

 Revision 1.0  2002/07/31 00:00:00  dangan
 add to version control
 [improvement]
     DivideNum を導入する事によって処理するパターン数の減少を図る。
 [maintenance]
     ソース整備
     タブ廃止
     ライセンス文の修正

 

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

コンストラクタの概要
PostLh5Encoder(OutputStream out)
          -lh5- 圧縮用 PostLzssEncoder を構築する。
PostLh5Encoder(OutputStream out, String method)
          -lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。
PostLh5Encoder(OutputStream out, String method, int BufferSize)
          -lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。
PostLh5Encoder(OutputStream out, String method, int BlockNum, int BlockSize, int DivideNum)
          -lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。
 
メソッドの概要
 void close()
          この出力ストリームと、接続された出力ストリームを閉じ、 使用していたリソースを開放する。
 void flush()
          この PostLzssEncoder にバッファリングされている全ての 8ビット単位のデータを出力先の OutputStream に出力し、 出力先の OutputStream を flush() する。
 int getDictionarySize()
          この PostLh5Encoder が扱うLZSS辞書のサイズを得る。
 int getMaxMatch()
          この PostLh5Encoder が扱うLZSSの最長一致長を得る。
 int getThreshold()
          この PostLh5Encoder が扱うLZSSの圧縮、非圧縮の閾値を得る。
 void writeCode(int code)
          1byte の LZSS未圧縮のデータもしくは、 LZSS で圧縮された圧縮コードのうち一致長を書きこむ。
 void writeOffset(int offset)
          LZSS で圧縮された圧縮コードのうち一致位置を書きこむ。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PostLh5Encoder

public PostLh5Encoder(OutputStream out)
-lh5- 圧縮用 PostLzssEncoder を構築する。
バッファサイズにはデフォルト値が使用される。

パラメータ:
out - 圧縮データを受け取る OutputStream

PostLh5Encoder

public PostLh5Encoder(OutputStream out,
                      String method)
-lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。
バッファサイズにはデフォルト値が使用される。

パラメータ:
out - 圧縮データを受け取る OutputStream
method - 圧縮法を示す文字列
   CompressMethod.LH4
   CompressMethod.LH5
   CompressMethod.LH6
   CompressMethod.LH7
   の何れかを指定する。
例外:
IllegalArgumentException - method が上記以外の場合

PostLh5Encoder

public PostLh5Encoder(OutputStream out,
                      String method,
                      int BufferSize)
-lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。

パラメータ:
out - 圧縮データを受け取る OutputStream
method - 圧縮法を示す文字列
   CompressMethod.LH4
   CompressMethod.LH5
   CompressMethod.LH6
   CompressMethod.LH7
   の何れかを指定する。
BufferSize - LZSS圧縮データを退避しておく バッファのサイズ
例外:
IllegalArgumentException -
   (1) method が上記以外の場合
   (2) BufferSize が小さすぎる場合
   の何れか

PostLh5Encoder

public PostLh5Encoder(OutputStream out,
                      String method,
                      int BlockNum,
                      int BlockSize,
                      int DivideNum)
-lh4-, -lh5-, -lh6-, -lh7- 圧縮用 PostLzssEncoder を構築する。
1つが BlockSizeバイト の BlockNum 個のブロックを組み合わせて 最も出力ビット数の少ない構成で出力する。 組み合わせは 全ブロックを DivideNum + 1 個に分割して得られる 全パターンが試される。

パラメータ:
out - 圧縮データを受け取る OutputStream
method - 圧縮法を示す文字列
   CompressMethod.LH4
   CompressMethod.LH5
   CompressMethod.LH6
   CompressMethod.LH7
   の何れかを指定する。
BlockNum - ブロック数
BlockSize - 1ブロックのバイト数
DivideNum - 最大分割数
例外:
IllegalArgumentException -
   (1) CompressMethod が上記以外の場合
   (2) BlockNum が 0以下の場合
   (3) BlockSize が小さすぎる場合
   (4) DivideNum が 0未満であるか、BlockNum以上の場合
   のいずれか。
メソッドの詳細

writeCode

public void writeCode(int code)
               throws IOException
1byte の LZSS未圧縮のデータもしくは、 LZSS で圧縮された圧縮コードのうち一致長を書きこむ。

定義:
インタフェース PostLzssEncoder 内の writeCode
パラメータ:
code - 1byte の LZSS未圧縮のデータもしくは、 LZSS で圧縮された圧縮コードのうち一致長
例外:
IOException - 入出力エラーが発生した場合

writeOffset

public void writeOffset(int offset)
LZSS で圧縮された圧縮コードのうち一致位置を書きこむ。

定義:
インタフェース PostLzssEncoder 内の writeOffset
パラメータ:
offset - LZSS で圧縮された圧縮コードのうち一致位置

flush

public void flush()
           throws IOException
この PostLzssEncoder にバッファリングされている全ての 8ビット単位のデータを出力先の OutputStream に出力し、 出力先の OutputStream を flush() する。
このメソッドは圧縮率を変化させる。

定義:
インタフェース PostLzssEncoder 内の flush
例外:
IOException - 入出力エラーが発生した場合
関連項目:
PostLzssEncoder.flush(), BitOutputStream.flush()

close

public void close()
           throws IOException
この出力ストリームと、接続された出力ストリームを閉じ、 使用していたリソースを開放する。

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

getDictionarySize

public int getDictionarySize()
この PostLh5Encoder が扱うLZSS辞書のサイズを得る。

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

getMaxMatch

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

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

getThreshold

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

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

LHA Library for Java

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