|
LHA Library for Java | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Objectjava.io.OutputStream
jp.gr.java_conf.dangan.util.lha.LzssOutputStream
データを LZSS圧縮しながら
指定された PostLzssEncoder に出力する圧縮用出力ストリーム。
-- revision history --
$Log: LzssOutputStream.java,v $
Revision 1.2 2002/12/06 00:00:00 dangan
[change]
flush() で write() された全てのデータを
接続された PostLzssEncoder に出力するように修正。
[maintenance]
slide幅が常に DictionarySize バイトになるように修正。
Revision 1.1 2002/10/20 00:00:00 dangan
[bug fix]
初期状態で flush() したり 連続で flush() すると
( lastsearchret が NEEDSEARCH の時に encode() が呼ばれると )
直後の 1バイトが化けていた。
flush() 時に putLength() を考慮していなかったため
検索機構を破壊するような searchAndPut を行っていたのを修正。
flush() 時に TextBuffer 最後尾のMaxMatchバイトのデータを出力していなかった。
Revision 1.0 2002/07/25 00:00:00 dangan
add to version control
[bug fix]
getMatchLen() で searchret >> 22 とすべきところが
searchret >>> 22 となっていたのを修正。
[maintenance]
LhaUtil.createInstance() の使用をやめ
代わりに Factory.createInstance() を使用する。
ソース整備
タブ廃止
ライセンス文の修正
| フィールドの概要 | |
static int |
NOMATCH
searchret がこの値だった場合、 検索の結果、閾値以上の一致が見つからなかった事を示す。 |
| コンストラクタの概要 | |
LzssOutputStream(PostLzssEncoder encoder)
write() によって書きこまれたデータを LZSSで圧縮し、圧縮したデータを encoderに出力する 出力ストリームを構築する。 |
|
LzssOutputStream(PostLzssEncoder encoder,
String LzssSearchMethodClassName)
write() によって書きこまれたデータを LZSSで圧縮し、圧縮したデータを encoderに出力する 出力ストリームを構築する。 |
|
LzssOutputStream(PostLzssEncoder encoder,
String LzssSearchMethodClassName,
Object[] LzssSearchMethodExtraArguments)
write() によって書きこまれたデータを LZSSで圧縮し、圧縮したデータを encoderに出力する 出力ストリームを構築する。 |
|
| メソッドの概要 | |
void |
close()
このクラスに貯えられた全てのデータを接続された PostLzssEncoder に出力し この出力ストリームと、 接続されたストリームを閉じ、 使用していたリソースを開放する。 |
static int |
createSearchReturn(int matchlen,
int matchpos)
search の戻り値を生成する。 |
void |
flush()
圧縮機構に書き込まれた全てのデータを 接続された PostLzssEncoder に出力し、 接続された PostLzssEncoder を flush() する。 |
static int |
getMatchLen(int searchret)
createSearchReturn で生成された searchの戻り値から 一致長を取り出す。 |
static int |
getMatchPos(int searchret)
createSearchReturn で生成された searchの戻り値から 一致位置を取り出す。 |
void |
write(byte[] buffer)
圧縮機構に buffer 内のデータを全て出力する。 |
void |
write(byte[] buffer,
int index,
int length)
圧縮機構に buffer 内の index から lengthバイトのデータを出力する。 |
void |
write(int data)
圧縮機構に1バイトのデータを出力する。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
public static final int NOMATCH
| コンストラクタの詳細 |
public LzssOutputStream(PostLzssEncoder encoder)
encoder - LZSS圧縮データ出力ストリーム
public LzssOutputStream(PostLzssEncoder encoder,
String LzssSearchMethodClassName)
encoder - LZSS圧縮データ出力ストリームLzssSearchMethodClassName - LzssSearchMethod の実装を示すパッケージ名も含めたクラス名
NoClassDefFoundError - LzssSearchMethodClassName で与えられたクラスが
見つからない場合。
InstantiationError - LzssSearchMethodClassName で与えられたクラスが
abstract class であるためインスタンスを生成できない場合。
NoSuchMethodError - LzssSearchMethodClassName で与えられたクラスが
コンストラクタ LzssSearchMethod( int, int, int, byte[], int )
を持たない場合
public LzssOutputStream(PostLzssEncoder encoder,
String LzssSearchMethodClassName,
Object[] LzssSearchMethodExtraArguments)
encoder - LZSS圧縮データ出力ストリームLzssSearchMethodClassName - LzssSearchMethod の実装を示すパッケージ名も含めたクラス名
NoClassDefFoundError - LzssSearchMethodClassName で与えられたクラスが
見つからない場合。
InstantiationError - LzssSearchMethodClassName で与えられたクラスが
abstract class であるためインスタンスを生成できない場合。
NoSuchMethodError - LzssSearchMethodClassName で与えられたクラスが
コンストラクタ LzssSearchMethod( int, int, int, byte[] )
を持たない場合| メソッドの詳細 |
public void write(int data)
throws IOException
data - 1バイトのデータ
IOException - 入出力エラーが発生した場合
public void write(byte[] buffer)
throws IOException
buffer - データの格納されたバッファ
IOException - 入出力エラーが発生した場合
public void write(byte[] buffer,
int index,
int length)
throws IOException
buffer - データの格納されたバッファindex - buffer内データ開始位置length - buffer内データの長さ
IOException - 入出力エラーが発生した場合
public void flush()
throws IOException
public void wrongCompress( InputStream in, LzssOutputSteam out ){
int r;
while( 0 <= r = in.read() ){
out.write( r );
out.flush();
}
}
また、このメソッドは PostLzssEncoder.flush() を呼び出すため
flush() しない場合と比べて、出力データが変化する可能性がある。
IOException - 入出力エラーが発生した場合PostLzssEncoder.flush()
public void close()
throws IOException
IOException - 入出力エラーが発生した場合
public static final int createSearchReturn(int matchlen,
int matchpos)
matchlen - 一致長matchpos - 一致位置
public static final int getMatchLen(int searchret)
searchret - search の戻り値
public static final int getMatchPos(int searchret)
searchret - search の戻り値
|
LHA Library for Java | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||