public class LzssInputStream
extends java.io.InputStream
-- 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 and Description |
---|
LzssInputStream(PreLzssDecoder decoder)
in から LZSS圧縮データ の入力を受けて、
解凍されたデータを提供する入力ストリームを構築する。
このコンストラクタから生成された LzssInputStreamは
-lh1-等の解凍データの最後のデータを読み込んだ後、
次のデータの読み取りで必ずEndOfStreamに達するとは
限らないデータを正常に復元できない(終端以降にゴミ
データがつく可能性がある)。
|
LzssInputStream(PreLzssDecoder decoder,
long length)
in から LZSS圧縮データ の入力を受けて、
解凍されたデータを提供する入力ストリームを構築する。
|
Modifier and Type | Method and Description |
---|---|
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バイト読み飛ばす。
|
public LzssInputStream(PreLzssDecoder decoder)
decoder
- LZSS圧縮データ供給ストリームpublic LzssInputStream(PreLzssDecoder decoder, long length)
decoder
- LZSS圧縮データ供給ストリームlength
- 解凍後のサイズpublic int read() throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
- 入出力エラーが発生した場合public int read(byte[] buffer) throws java.io.IOException
read
in class java.io.InputStream
buffer
- データを読み込むバッファjava.io.IOException
- 入出力エラーが発生した場合public int read(byte[] buffer, int index, int length) throws java.io.IOException
read
in class java.io.InputStream
buffer
- データを読み込むバッファindex
- buffer 内のデータ読みこみ開始位置length
- 読み込むデータ量java.io.IOException
- 入出力エラーが発生した場合public long skip(long length) throws java.io.IOException
skip
in class java.io.InputStream
length
- 読み飛ばすデータ量(単位はバイト)java.io.IOException
- 入出力エラーが発生した場合public void mark(int readLimit)
mark
in class java.io.InputStream
readLimit
- マーク位置に戻れる限界のバイト数。
このバイト数を超えてデータを読み
込んだ場合 reset()できなくなる可
能性がある。PreLzssDecoder.mark(int)
public void reset() throws java.io.IOException
reset
in class java.io.InputStream
java.io.IOException
- 入出力エラーが発生した場合public boolean markSupported()
markSupported
in class java.io.InputStream
public int available() throws java.io.IOException
available
in class java.io.InputStream
java.io.IOException
- 入出力エラーが発生した場合public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.InputStream
java.io.IOException
- 入出力エラーが発生した場合
When you found typographical errors or omissions, Please mail to cqw10305@nifty.com
The company name and product name which are used in this document, it is the trademark or registered trademark of each company generally.
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.