|
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 | ||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |