|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.io.InputStream
public abstract class InputStream
バイト単位で連続的な入力を行う「入力ストリーム」処理を行う全てのクラスのスーパークラスです。
このクラスは抽象クラスとして宣言されており、read()
メソッドをサブクラスで実装する必要があります。
コンストラクタの概要 | |
---|---|
InputStream()
デフォルトのコンストラクタです。 |
メソッドの概要 | |
---|---|
int |
available()
次回の処理において、入力ストリームがブロックすることなく取り扱うことのできる、つまり読み出したり読み飛ばしたりすることが可能なバイト数を返します。 |
void |
close()
入力ストリームをクローズし、関連するリソースを全て開放します。 |
void |
mark(int limitlen)
入力ストリームが指している現在位置をマークします。 |
boolean |
markSupported()
入力ストリームが mark(int) メソッドと reset() メソッドによる操作に対応しているか否かを返します。 |
abstract int |
read()
入力ストリームからデータを1バイト読み出します。 |
int |
read(byte[] data)
入力ストリームから指定された byte 配列へデータを読み出します。 |
int |
read(byte[] data,
int index,
int length)
入力ストリームから指定バイト数分のデータを指定された byte 配列の指定位置へ読み出します。 |
void |
reset()
入力ストリームが次回データを読み出す位置を、最後に mark(int) メソッドによってマークした位置あるいは実装に固有な規定位置に戻します。 |
long |
skip(long length)
入力ストリームから指定バイト数分のデータを読み飛ばします。 |
クラス java.lang.Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public InputStream()
メソッドの詳細 |
---|
public abstract int read() throws IOException
入力ストリームからデータを1バイト読み出します。
読み出したデータは 0
〜 255
の int
型の値として返します。
入力ストリームが終端に達し、読み出すデータが存在しない場合は -1
を返します。
このメソッドは取り出すべきデータが存在しない場合、入力ストリームが終端に達するか例外が throw されるまでブロックします。
サブクラスではこの規約に従ってこのメソッドを実装しなければなりません。
IOException
- データの読み出し時に何らかの障害が発生した場合に throw します。public int read(byte[] data) throws IOException
入力ストリームから指定された byte
配列へデータを読み出します。
このメソッドは data.length
が示すバイト数のデータの読み出しが完了するか、入力ストリームが終端に達するかあるいは例外が throw されるまでブロックします。
このメソッドで例外が throw されるのは以下の場合です。
IOException
を throw します。
data
が null
場合は NullPointerException
が throw されます。
これらの例外が throw された場合でも、そこまでに読み込んだデータは data
に格納されます。
戻り値として実際に読み込んだバイト数を返します。入力ストリームが終端に達していてデータが読み出せなかった場合は -1
を返します。
InputStream
クラスにおけるこのメソッドは、read(data, 0, data.length)
と記述するのと等価です。
data
- 読み出したデータを格納する byte
配列を渡します。
-1
を返します。
IOException
- データの読み出し時に何らかの障害が発生した場合に throw します。
NullPointerException
- data
に null
が渡された場合に throw します。public int read(byte[] data, int index, int length) throws IOException
入力ストリームから指定バイト数分のデータを指定された byte
配列の指定位置へ読み出します。
このメソッドは指定バイト数のデータの読み出しが完了するか、入力ストリームが終端に達するかあるいは例外が throw されるまでブロックします。
このメソッドで例外が throw されるのは以下の場合です。
IOException
を throw します。
index
が負数あるいは index + length
が data
のサイズを超える場合は IndexOutOfBoundsException
が throw されます。
data
が null
場合は NullPointerException
が throw されます。
これらの例外が throw された場合でも、そこまでに読み込んだデータは data
に格納されます。
戻り値として実際に読み込んだバイト数を返します。入力ストリームが終端に達していてデータが読み出せなかった場合は -1
を返します。
InputStream
クラスにおけるこのメソッドは、read()
メソッドを必要回数呼び出してデータを読み出し、配列へ格納するように記述されています。
最初の read()
メソッドの呼び出しで IOException
クラスが throw された場合は catch されずにそのまま throws されます。
初回以後に同例外が throw された場合はそれを catch し、終端を検出したときと同様に読み込みをそこで終了します。
サブクラスでより効率的な処理が可能な場合はオーバーライドして処理を記述すべきです。
data
- 読み出したデータを書き込む byte
配列を渡します。index
- 読み出したデータを書き込み開始する byte
配列の位置を渡します。length
- 読み出すデータのバイト数を渡します。
-1
を返します。
IOException
- 初回のデータ読み出しが入力ストリームが終端に達した以外の要因で読み出しに失敗した場合に throw します。
NullPointerException
- data
に null
が渡された場合に throw します。
IndexOutOfBoundsException
- index
が負数あるいは index + length
が data
のサイズを超える場合に throw します。public long skip(long length) throws IOException
入力ストリームから指定バイト数分のデータを読み飛ばします。 しかし、実際に読み飛ばすことのできるデータ数がさまざまな要因(入力ストリームが終端に達するなど)によって指定されたバイト数に達しないこともあります。 戻り値には実際に読み飛ばしたバイト数を返します。
InputStream
クラスにおけるこのメソッドは、入力ストリームが終端に達するか指定回数に達するまで read()
メソッドを呼び出してデータを読み捨てるように記述されています。
サブクラスでより効率的な処理が可能な場合はオーバーライドして処理を記述すべきです。
length
- 読み飛ばすバイト数を渡します。
IOException
- 入力ストリームが終端に達した以外の要因で読み出しに失敗した場合に throw します。public int available() throws IOException
次回の処理において、入力ストリームがブロックすることなく取り扱うことのできる、つまり読み出したり読み飛ばしたりすることが可能なバイト数を返します。
InputStream
クラスにおけるこのメソッドは戻り値として常に 0
を返します。
サブクラスではこのメソッドをオーバーライドし、適切な処理を記述しなければなりません。
IOException
- 処理に伴い、入力関係で何らかの障害が発生した場合に throw します。public void close() throws IOException
入力ストリームをクローズし、関連するリソースを全て開放します。
InputStream
クラスにおけるこのメソッドは何も処理を行いません。
IOException
- 処理に伴い、入力関係で何らかの障害が発生した場合に throw します。public void mark(int limitlen)
入力ストリームが指している現在位置をマークします。
reset()
メソッドを呼び出すと入力ストリームが次回データを取り出す位置がマークした位置へ戻ります。
これにより、入力ストリームの特定部分を繰り返し読むことができます。
パラメータで渡された limitlen
は、位置をマークしてから読み出す可能性のある最大バイト数を示しています。
このバイト数を超えて入力ストリームのデータを操作した場合、マーク位置が無効になることがあります。
このメソッドは、mark(int)
メソッドによってマークした位置へ reset()
メソッドによって読み出し位置を戻す機能をサポートしている場合は markSupported()
メソッドは true
を返し、mark(int)
メソッドはパラメータによって渡された limitlen
が示すバイト数の操作が行われても reset()
メソッドでマーク位置に戻れるように処理を実装する様に規定されています。
InputStream
クラスにおけるこのメソッドは何も処理を行いません。
limitlen
- 現在位置をマークしてから読み出される可能性のある最大バイト数を渡します。public void reset() throws IOException
入力ストリームが次回データを読み出す位置を、最後に mark(int)
メソッドによってマークした位置あるいは実装に固有な規定位置に戻します。
このメソッドは以下の様に実装することが規定されています。
mark(int)
メソッドによる操作をサポートしている場合
markSupported()
メソッドは true
を返します。
mark(int)
メソッドが呼び出されていない場合、あるいはマーク後に取り扱われたデータのサイズが mark(int)
メソッドで指定されたサイズよりも多く、位置が無効となっている場合は IOException
を throw します。
IOException
を throw しない場合は mark(int)
メソッドでマークした位置(マークした位置がない場合はその入力ストリームの先頭)に読み出し位置を戻します。
mark(int)
メソッドによる操作をサポートしていない場合
markSupported()
メソッドは false
を返します。
reset()
メソッドによる処理をサポートしていない場合は IOException
を throw します。
IOException
を throw しない場合はその入力ストリームに固有の状態にリセットします。次回以降に取り扱うことのできるデータは入力ストリームの実装に依存します。
InputStream
クラスにおけるこのメソッドは何も処理を行わずに常に IOException
を throw します。
IOException
- マークされた位置が無効となっている場合あるいはこのメソッドの操作をサポートしていない場合に throw します。markSupported()
,
mark(int)
public boolean markSupported()
入力ストリームが mark(int)
メソッドと reset()
メソッドによる操作に対応しているか否かを返します。
InputStream
クラスにおけるこのメソッドは常に false
を返します。
mark(int)
メソッドと reset()
メソッドによる操作をサポートしている場合は true
を、サポートしていない場合は false
を返します。mark(int)
,
reset()
|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
公式仕様書原文の著作権表記等(※): Mobile Information Device Profile Specification ("Specification") Version: 2.0 Status: FCS Release: November 5, 2002 Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc. All rights reserved. | ※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。 ※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。 |