public class CachedInputStream
extends java.io.InputStream
-- 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] タブ廃止 ライセンス文の修正
Constructor and Description |
---|
CachedInputStream(java.io.InputStream in)
デフォルトのサイズのキャッシュを持つ
CachedInputStreamを構築する。
|
CachedInputStream(java.io.InputStream in,
int cacheSize)
指定されたサイズのキャッシュを持つ
CachedInputStreamを構築する。
|
Modifier and Type | Method and Description |
---|---|
int |
available()
接続された入力ストリームからブロックしないで
読み込むことのできるバイト数を得る。
|
void |
close()
この入力ストリームを閉じ、使用していた
全てのリソースを開放する。
|
void |
mark(int readLimit)
接続された入力ストリームの現在位置にマークを設定し、
reset() メソッドでマークした時点の 読み込み位置に
戻れるようにする。
|
boolean |
markSupported()
接続された入力ストリームが mark() と reset() を
サポートするかを得る。
|
int |
read()
接続されたストリームから 1バイトのデータを
0〜255 にマップして読み込む。
|
int |
read(byte[] buffer)
接続されたストリームから bufferを満たすように
データを読み込む。
このメソッドは buffer を満たすまでデータを読み込むか、 EndOfStreamに到達するまでブロックする。 |
int |
read(byte[] buffer,
int index,
int length)
接続されたストリームから buffer に index で指定された
位置へ length バイトデータを読み込む。
このメソッドは length バイト読み込むか、 EndOfStreamに到達するまでブロックする。 |
void |
reset()
接続された入力ストリームの読み込み位置を最後に
mark() メソッドが呼び出されたときの位置に設定する。
|
long |
skip(long length)
接続された入力ストリームのデータを length バイト読み飛ばす。
このメソッドは length バイト読み飛ばすか EndOfStream に到達するまでブロックする。 |
public CachedInputStream(java.io.InputStream in)
in
- キャッシュが必要な入力ストリームjava.lang.IllegalArgumentException
- in が null だった場合public CachedInputStream(java.io.InputStream in, int cacheSize)
in
- キャッシュが必要な入力ストリームcacheSize
- キャッシュのサイズjava.lang.IllegalArgumentException
- cacheSize が 0以下であるか、
in が null だった場合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
- bufferに読み込むデータ量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()できなくなる可
能性がある。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.