Kagetaka

net.hizlab.kagetaka.io
クラス MeteredInputStream

java.lang.Object
  拡張java.io.InputStream
      拡張net.hizlab.kagetaka.io.MeteredInputStream

public class MeteredInputStream
extends InputStream

ストリームから読み込んだデータの長さを保持するストリームです。

バージョン:
$Revision: 1.2 $

フィールドの概要
protected  InputStream in
          下層の入力ストリーム
protected  long markedCount
          マーク位置の読み込み済みバイト数
protected  int markLength
          マークの残りバイト数
protected  int markLimit
          利用できるマークの量
protected  long readLength
          読み込んだバイト数
 
コンストラクタの概要
MeteredInputStream(InputStream in)
          指定された入力ストリームを元にしたインスタンスを作成します。
 
メソッドの概要
 int available()
          ブロッキングを発生することなしに、 この入力から読み込むことのできるバイト数を返します。
protected  void changed(long length)
          読み込み済みの長さに変更があった場合に呼び出されます。
 void close()
          入力ストリームをクローズし、これに関連した全てのシステムリソースを 解放します。
 void mark(int readlimit)
          入力ストリームの現在位置にマークを付けます。
 boolean markSupported()
          マークをサポートしているかどうかを返します。
 int read()
          このバイト入力ストリームから、データの次のバイトを読み込みます。
 int read(byte[] b, int off, int len)
          このバイト入力ストリームからバイトを読み取って、 指定されたバイト配列に指定のオフセットから挿入します。
 void reset()
          入力ストリームへ最後に mark(int) メソッドが 呼び出されたときのマーク位置へこのストリームの位置を再設定します。
 long skip(long n)
          入力ストリームからのデータに対して n バイトだけスキップしてデータを捨てます。
 
クラス java.io.InputStream から継承したメソッド
read
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

in

protected InputStream in
下層の入力ストリーム


markedCount

protected long markedCount
マーク位置の読み込み済みバイト数


markLength

protected int markLength
マークの残りバイト数


markLimit

protected int markLimit
利用できるマークの量


readLength

protected long readLength
読み込んだバイト数

コンストラクタの詳細

MeteredInputStream

public MeteredInputStream(InputStream in)
指定された入力ストリームを元にしたインスタンスを作成します。

パラメータ:
in - 入力ストリーム
メソッドの詳細

available

public int available()
              throws IOException
ブロッキングを発生することなしに、 この入力から読み込むことのできるバイト数を返します。

戻り値:
読み込めるバイト数
例外:
IOException - IO エラーが発生した場合

changed

protected void changed(long length)
読み込み済みの長さに変更があった場合に呼び出されます。

パラメータ:
length - 現在の長さ

close

public void close()
           throws IOException
入力ストリームをクローズし、これに関連した全てのシステムリソースを 解放します。

例外:
IOException - I/O エラーが発生した場合

mark

public void mark(int readlimit)
入力ストリームの現在位置にマークを付けます。

パラメータ:
readlimit - マーク位置が無効になる前に読み込み可能な最大バイト数

markSupported

public boolean markSupported()
マークをサポートしているかどうかを返します。

戻り値:
マークをサポートしている場合は true、 サポートしていない場合は false

read

public int read()
         throws IOException
このバイト入力ストリームから、データの次のバイトを読み込みます。 そのバイトは、0255 の範囲の int として返されます。 ストリームの終わりに達してバイトがない場合は、 値 -1 が返されます。 このメソッドは、入力データが読み込まれるようになるか、 ストリームの終わりが検出されるか、 または例外がスローされるまでブロックします。

戻り値:
データの次のバイト。 ストリームの終わりに達した場合は -1
例外:
IOException - I/O エラーが発生した場合

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
このバイト入力ストリームからバイトを読み取って、 指定されたバイト配列に指定のオフセットから挿入します。

パラメータ:
b - 転送先バッファ
off - バイトの格納開始オフセット
len - 読み込むバイトの最大数
戻り値:
読み込まれるバイト数。 ストリームの終わりに達した場合は -1
例外:
IOException - I/O エラーが発生した場合

reset

public void reset()
           throws IOException
入力ストリームへ最後に mark(int) メソッドが 呼び出されたときのマーク位置へこのストリームの位置を再設定します。

例外:
IOException - ストリームにマークが付けられていなかった場合、 またはマークが無効になっていた場合

skip

public long skip(long n)
          throws IOException
入力ストリームからのデータに対して n バイトだけスキップしてデータを捨てます。

パラメータ:
n - スキップするバイト数
戻り値:
実際にスキップされたバイト数
例外:
IOException - I/O エラーが発生した場合。

Kagetaka

Copyright (c) 2002-2004 The Kagetaka Project 'November 20, 2004'