LHA Library for Java

jp.gr.java_conf.dangan.io
クラス LimitedInputStream

java.lang.Object
  拡張java.io.InputStream
      拡張jp.gr.java_conf.dangan.io.LimitedInputStream

public class LimitedInputStream
extends InputStream

読み込み可能なデータ量が制限された入力ストリーム。

 -- revision history --
 $Log: LimitedInputStream.java,v $
 Revision 1.1.2.1  2003/07/20 17:03:37  dangan
 [maintenance]
     最新の LimitedInputStream からソースを取り込む。

 Revision 1.1  2002/12/05 00:00:00  dangan
 [maintenance]
     ソース整備

 Revision 1.0  2002/07/24 00:00:00  dangan
 add to version control
 [change]
     EndOfStream に達した後の read( new byte[0] ) や 
     read( byte[] buf, int off, 0 ) の戻り値を
     InputStream と同じく 0 になるようにした
 [maintenance]
     タブ廃止
     ライセンス文の修正

 

バージョン:
$Revision: 1.1.2.1 $
作成者:
$Author: dangan $

コンストラクタの概要
LimitedInputStream(InputStream in, long limit)
          in からの読み込み可能なデータ量を制限した 入力ストリームを構築する。
 
メソッドの概要
 int available()
          接続された入力ストリームからブロックしないで 読み込むことのできるバイト数を得る。
 void close()
          この入力ストリームを閉じ、使用していた 全てのリソースを開放する。
 void mark(int readLimit)
          接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の 読み込み位置に 戻れるようにする。
 boolean markSupported()
          接続された入力ストリームが mark() と reset() を サポートするかを得る。
 int read()
          接続された入力ストリームから 1バイトのデータを読み込む。
 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
 

コンストラクタの詳細

LimitedInputStream

public LimitedInputStream(InputStream in,
                          long limit)
in からの読み込み可能なデータ量を制限した 入力ストリームを構築する。

パラメータ:
in - 入力ストリーム
limit - 読み込み可能バイト数
例外:
IllegalArgumentException - limit が負数である場合
メソッドの詳細

read

public int read()
         throws IOException
接続された入力ストリームから 1バイトのデータを読み込む。

戻り値:
読み込まれた 1バイトのデータ
既にEndOfStream に達していたか、 制限に達した場合は -1 を返す。
例外:
IOException - 入出力エラーが発生した場合

read

public int read(byte[] buffer)
         throws IOException
接続された入力ストリームから buffer を満たすように データを読み込む。
データは必ずしも buffer を満たすとは限らないことに注意。

パラメータ:
buffer - 読み込んだデータを格納するためのバイト配列
戻り値:
buffer に読み込んだデータ量をバイト数で返す。
既にEndOfStream に達していたか、 制限に達した場合は -1 を返す。
例外:
IOException - 入出力エラーが発生した場合

read

public int read(byte[] buffer,
                int index,
                int length)
         throws IOException
接続された入力ストリームから バイト配列 buffer の index で指定された位置から length バイトのデータを 読み込む。
データは必ずしも length バイト読み込まれるとは限ら ないことに注意。

パラメータ:
buffer - 読み込まれたデータを格納するためのバイト配列
index - buffer内のデータ読み込み開始位置
length - bufferに読み込むデータ量
戻り値:
buffer に読み込んだデータ量をバイト数で返す。
既にEndOfStream に達していたか、 制限に達した場合は -1 を返す。
例外:
IOException - 入出力エラーが発生した場合

skip

public long skip(long length)
          throws IOException
接続された入力ストリームのデータを length バイト読み飛ばす。

パラメータ:
length - 読み飛ばすバイト数。
戻り値:
実際に読み飛ばされたバイト数。
例外:
IOException - 入出力エラーが発生した場合

mark

public void mark(int readLimit)
接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の 読み込み位置に 戻れるようにする。

パラメータ:
readLimit - マーク位置に戻れる限界のバイト数。 このバイト数を超えてデータを読み 込んだ場合 reset()できなくなる可 能性がある。

reset

public void reset()
           throws IOException
接続された入力ストリームの読み込み位置を最後に mark() メソッドが呼び出されたときの位置に設定する。

例外:
IOException -
  1. LimitedInputStream に mark がなされていない場合。
  2. 接続された入力ストリームが markSupported()で false を返す場合。
  3. 接続された入力ストリームで 入出力エラーが発生した場合。
の何れか。

markSupported

public boolean markSupported()
接続された入力ストリームが mark() と reset() を サポートするかを得る。

戻り値:
ストリームが mark() と reset() を サポートする場合は true。
サポートしない場合は false。

available

public int available()
              throws IOException
接続された入力ストリームからブロックしないで 読み込むことのできるバイト数を得る。

戻り値:
ブロックしないで読み出せるバイト数。
例外:
IOException - 入出力エラーが発生した場合

close

public void close()
           throws IOException
この入力ストリームを閉じ、使用していた 全てのリソースを開放する。

例外:
IOException - 入出力エラーが発生した場合

LHA Library for Java

バグやドキュメントの誤りの報告は作者宛てにお願いします。
ドキュメント内に含まれる社名、製品名については一般に各社の商標または登録商標です。
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.