jp.gr.java_conf.dangan.io

Class DisconnectableInputStream

Implemented Interfaces:
Disconnectable

public class DisconnectableInputStream
extends InputStream
implements Disconnectable

データを供給する入力ストリームと データを処理する 入力ストリームとの接続を解除するためのユーティリティクラス。
java.io.BufferedInputStream 等のバッファリングするストリーム との接続を解除する場合は jp.gr.java_conf.dangan.io.LimitedInputStream 等を使用して 接続解除位置を過ぎたバッファリングを抑止する必要がある。
 -- revision history --
 $Log: DisconnectableInputStream.java,v $
 Revision 1.0  2002/07/24 00:00:00  dangan
 add to version control
 [maintenance]
     タブ廃止
     ライセンス文の修正
     ソース整備

 
Version:
$Revision: 1.0 $
Author:
$Author: dangan $

Constructor Summary

DisconnectableInputStream(InputStream in)
in との接続を解除可能な入力ストリームを構築する。

Method Summary

int
available()
接続された入力ストリームからブロックしないで 読み込むことのできるバイト数を得る。
void
close()
接続された入力ストリームとの接続を解除する。
このメソッドは disconnect() を呼ぶだけである。
void
disconnect()
接続された入力ストリームとの接続を解除する。
void
mark(int readLimit)
接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の 読み込み位置に 戻れるようにする。
boolean
markSupprted()
接続された入力ストリームが mark() と reset() を サポートするかを得る。
int
read()
接続された入力ストリームから 次の1バイトのデータを得る。
int
read(byte[] buffer)
接続された入力ストリームから バイト配列 buffer を 満たすようにデータを読み込む。
データは必ずしも buffer を満たすとは限らないことに注意。
int
read(byte[] buffer, int index, int length)
接続された入力ストリームから バイト配列 buffer の index で指定された位置から length バイトのデータを 読み込む。
データは必ずしも length バイト読み込まれるとは限ら ないことに注意。
void
reset()
接続された入力ストリームの読み込み位置を最後に mark() メソッドが呼び出されたときの位置に設定する。
long
skip(long length)
接続された入力ストリームのデータを length バイト 読み飛ばす。

Constructor Details

DisconnectableInputStream

public DisconnectableInputStream(InputStream in)
in との接続を解除可能な入力ストリームを構築する。
Parameters:
in - 入力ストリーム

Method Details

available

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

close

public void close()
接続された入力ストリームとの接続を解除する。
このメソッドは disconnect() を呼ぶだけである。

disconnect

public void disconnect()
接続された入力ストリームとの接続を解除する。
Specified by:
disconnect in interface Disconnectable

mark

public void mark(int readLimit)
接続された入力ストリームの現在位置にマークを設定し、 reset() メソッドでマークした時点の 読み込み位置に 戻れるようにする。
Parameters:
readLimit - マーク位置に戻れる限界のバイト数。 このバイト数を超えてデータを読み 込んだ場合 reset()できなくなる可 能性がある。

markSupprted

public boolean markSupprted()
接続された入力ストリームが mark() と reset() を サポートするかを得る。
Returns:
ストリームが mark() と reset() を サポートする場合は true。
サポートしない場合は false。

read

public int read()
            throws IOException
接続された入力ストリームから 次の1バイトのデータを得る。
Returns:
読み込まれた1バイトのデータ。
EndOfStreamに達した場合は -1 を返す。

read

public int read(byte[] buffer)
            throws IOException
接続された入力ストリームから バイト配列 buffer を 満たすようにデータを読み込む。
データは必ずしも buffer を満たすとは限らないことに注意。
Parameters:
buffer - 読み込まれたデータを格納するためのバイト配列
Returns:
buffer に読み込んだデータ量をバイト数で返す。
既に EndOfStream に達していた場合は -1 を返す。

read

public int read(byte[] buffer,
                int index,
                int length)
            throws IOException
接続された入力ストリームから バイト配列 buffer の index で指定された位置から length バイトのデータを 読み込む。
データは必ずしも length バイト読み込まれるとは限ら ないことに注意。
Parameters:
buffer - 読み込まれたデータを格納するためのバイト配列
index - buffer内のデータ読み込み開始位置
length - bufferに読み込むデータ量
Returns:
buffer に読み込んだデータ量をバイト数で返す。
既に EndOfStream に達していた場合は -1 を返す。

reset

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

skip

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

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.