|
LHA Library for Java | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.io.InputStream
jp.gr.java_conf.dangan.util.lha.LzssInputStream
public class LzssInputStream
LZSS 圧縮されたデータを解凍しながら供給する入力ストリーム。
-- revision history --
$Log: LzssInputStream.java,v $
Revision 1.1 2002/12/08 00:00:00 dangan
[bug fix]
mark() 内で接続された PreLzssDecoder の
mark に与える readLimit の計算が甘かったのを修正。
Revision 1.0 2002/07/25 00:00:00 dangan
add to version control
[bug fix]
available() のスペルミスを修正。
skip() において decode() を呼ぶ判定条件が間違っていたのを修正。
[maintenance]
ソース整備
タブ廃止
ライセンス文の修正
| Constructor Summary | |
|---|---|
LzssInputStream(PreLzssDecoder decoder)
in から LZSS圧縮データ の入力を受けて、 解凍されたデータを提供する入力ストリームを構築する。 このコンストラクタから生成された LzssInputStreamは -lh1-等の解凍データの最後のデータを読み込んだ後、 次のデータの読み取りで必ずEndOfStreamに達するとは 限らないデータを正常に復元できない(終端以降にゴミ データがつく可能性がある)。 |
|
LzssInputStream(PreLzssDecoder decoder,
long length)
in から LZSS圧縮データ の入力を受けて、 解凍されたデータを提供する入力ストリームを構築する。 |
|
| Method Summary | |
|---|---|
int |
available()
接続された入力ストリームからブロックしないで 読み込むことのできるバイト数を得る。 |
void |
close()
この入力ストリームを閉じ、使用していた 全てのリソースを開放する。 |
void |
mark(int readLimit)
接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の 読み込み位置に 戻れるようにする。 InputStream の mark() と違い、 readLimit で設定した 限界バイト数より前にマーク位置が無効になる可能性がある。 ただし、readLimit を無視して無限に reset() 可能な InputStream と接続している場合は readLimit に どのような値を設定されても reset() で必ずマーク位置に復旧できる事を保証する。 |
boolean |
markSupported()
接続された入力ストリームが mark() と reset() を サポートするかを得る。 |
int |
read()
コンストラクタで指定された PreLzssDecoder の 圧縮されたデータを解凍し、1バイトのデータを供給する。 |
int |
read(byte[] buffer)
コンストラクタで指定された PreLzssDecoder の 圧縮されたデータを解凍し、bufferを満たすように 解凍されたデータを読み込む。 |
int |
read(byte[] buffer,
int index,
int length)
コンストラクタで指定された PreLzssDecoder の 圧縮されたデータを解凍し、buffer の index から length バイトのデータを読み込む。 |
void |
reset()
接続された入力ストリームの読み込み位置を最後に mark() メソッドが呼び出されたときの位置に設定する。 |
long |
skip(long length)
解凍されたデータを lengthバイト読み飛ばす。 |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public LzssInputStream(PreLzssDecoder decoder)
decoder - LZSS圧縮データ供給ストリーム
public LzssInputStream(PreLzssDecoder decoder,
long length)
decoder - LZSS圧縮データ供給ストリームlength - 解凍後のサイズ| Method Detail |
|---|
public int read()
throws java.io.IOException
read in class java.io.InputStreamjava.io.IOException - 入出力エラーが発生した場合
public int read(byte[] buffer)
throws java.io.IOException
read in class java.io.InputStreambuffer - データを読み込むバッファ
java.io.IOException - 入出力エラーが発生した場合
public int read(byte[] buffer,
int index,
int length)
throws java.io.IOException
read in class java.io.InputStreambuffer - データを読み込むバッファindex - buffer 内のデータ読みこみ開始位置length - 読み込むデータ量
java.io.IOException - 入出力エラーが発生した場合
public long skip(long length)
throws java.io.IOException
skip in class java.io.InputStreamlength - 読み飛ばすデータ量(単位はバイト)
java.io.IOException - 入出力エラーが発生した場合public void mark(int readLimit)
mark in class java.io.InputStreamreadLimit - マーク位置に戻れる限界のバイト数。
このバイト数を超えてデータを読み
込んだ場合 reset()できなくなる可
能性がある。PreLzssDecoder.mark(int)
public void reset()
throws java.io.IOException
reset in class java.io.InputStreamjava.io.IOException - 入出力エラーが発生した場合public boolean markSupported()
markSupported in class java.io.InputStream
public int available()
throws java.io.IOException
available in class java.io.InputStreamjava.io.IOException - 入出力エラーが発生した場合
public void close()
throws java.io.IOException
close in interface java.io.Closeableclose in class java.io.InputStreamjava.io.IOException - 入出力エラーが発生した場合
|
LHA Library for Java | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||