|
LHA Library for Java | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Objectjava.io.InputStream
jp.gr.java_conf.dangan.io.CachedInputStream
キャッシュを使用して高速化するための入力ストリーム。
BufferedInputStream とは read系メソッドが synchronized
されていないため、同期処理によるロスがない、mark/reset は
キャッシュ内の読み込み位置の移動で行えるときのみサポートであり、
それ以上は接続された入力ストリームの性能による、等の違いがある。
-- revision history --
$Log: CachedInputStream.java,v $
Revision 1.3 2002/12/05 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.2 2002/11/02 00:00:00 dangan
[bug fix]
available() でブロックせずに読み込める量よりも大きい値を返していた。
Revision 1.1 2002/09/05 00:00:00 dangan
[change]
EndOfStream に達した後の read( new byte[0] ) や
read( byte[] buf, int off, 0 ) の戻り値を
InputStream と同じく 0 になるようにした。
Revision 1.0 2002/09/05 00:00:00 dangan
add to version control
[bug fix]
mark() で 接続された in に渡す readLimit の計算が甘かったため、
要求された readLimit に達する前にマーク位置が破棄される事があった。
read( buf, off, len ) 内の System.arraycopy の呼び出しで
dst と src を逆にしていた。
[change]
EndOfStream に達した後の read( new byte[0] ) や
read( buf, off,0 ) が -1 を返すように修正。
[maintenance]
タブ廃止
ライセンス文の修正
| コンストラクタの概要 | |
CachedInputStream(InputStream in)
デフォルトのサイズのキャッシュを持つ CachedInputStreamを構築する。 |
|
CachedInputStream(InputStream in,
int cacheSize)
指定されたサイズのキャッシュを持つ CachedInputStreamを構築する。 |
|
| メソッドの概要 | |
int |
available()
接続された入力ストリームからブロックしないで 読み込むことのできるバイト数を得る。 |
void |
close()
この入力ストリームを閉じ、使用していた 全てのリソースを開放する。 |
void |
mark(int readLimit)
接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の 読み込み位置に 戻れるようにする。 |
boolean |
markSupported()
接続された入力ストリームが mark() と reset() を サポートするかを得る。 |
int |
read()
接続されたストリームから 1バイトのデータを 0〜255 にマップして読み込む。 |
int |
read(byte[] buffer)
接続されたストリームから bufferを満たすように データを読み込む。 |
int |
read(byte[] buffer,
int index,
int length)
接続されたストリームから buffer に index で指定された 位置へ length バイトデータを読み込む。 |
void |
reset()
接続された入力ストリームの読み込み位置を最後に mark() メソッドが呼び出されたときの位置に設定する。 |
long |
skip(long length)
接続された入力ストリームのデータを length バイト読み飛ばす。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
public CachedInputStream(InputStream in)
in - キャッシュが必要な入力ストリーム
IllegalArgumentException - in が null だった場合
public CachedInputStream(InputStream in,
int cacheSize)
in - キャッシュが必要な入力ストリームcacheSize - キャッシュのサイズ
IllegalArgumentException - cacheSize が 0以下であるか、
in が null だった場合| メソッドの詳細 |
public int read()
throws IOException
IOException - 接続された入力ストリームで
入出力エラーが発生した場合
public int read(byte[] buffer)
throws IOException
buffer - 読み込んだデータを格納するためのバイト配列
IOException - 接続された入力ストリームで
入出力エラーが発生した場合
public int read(byte[] buffer,
int index,
int length)
throws IOException
buffer - 読み込んだデータを格納するためのバイト配列index - buffer内のデータ読み込み開始位置length - bufferに読み込むデータ量
IOException - 接続された入力ストリームで
入出力エラーが発生した場合
public long skip(long length)
throws IOException
length - 読み飛ばすバイト数。IOException - 接続された入力ストリームで
入出力エラーが発生した場合public void mark(int readLimit)
readLimit - マーク位置に戻れる限界のバイト数。
このバイト数を超えてデータを読み
込んだ場合 reset()できなくなる可
能性がある。
public void reset()
throws IOException
IOException - public boolean markSupported()
public int available()
throws IOException
IOException - 接続された入力ストリームで
入出力エラーが発生した場合
public void close()
throws IOException
IOException - 接続された入力ストリームで
入出力エラーが発生した場合
|
LHA Library for Java | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||