Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

java.io
クラス InputStream

java.lang.Object
  上位を拡張 java.io.InputStream
直系の既知のサブクラス:
ByteArrayInputStream, DataInputStream

public abstract class InputStream
extends Object

バイト単位で連続的な入力を行う「入力ストリーム」処理を行う全てのクラスのスーパークラスです。 このクラスは抽象クラスとして宣言されており、read() メソッドをサブクラスで実装する必要があります。

導入されたバージョン:
CLDC 1.0

コンストラクタの概要
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
 

コンストラクタの詳細

InputStream

public InputStream()
デフォルトのコンストラクタです。

メソッドの詳細

read

public abstract int read()
                  throws IOException

入力ストリームからデータを1バイト読み出します。 読み出したデータは 0255int 型の値として返します。 入力ストリームが終端に達し、読み出すデータが存在しない場合は -1 を返します。

このメソッドは取り出すべきデータが存在しない場合、入力ストリームが終端に達するか例外が throw されるまでブロックします。

サブクラスではこの規約に従ってこのメソッドを実装しなければなりません。

戻り値:
入力ストリームから読み出したデータを返します。
例外:
IOException - データの読み出し時に何らかの障害が発生した場合に throw します。

read

public int read(byte[] data)
         throws IOException

入力ストリームから指定された byte 配列へデータを読み出します。 このメソッドは data.length が示すバイト数のデータの読み出しが完了するか、入力ストリームが終端に達するかあるいは例外が throw されるまでブロックします。

このメソッドで例外が throw されるのは以下の場合です。

これらの例外が throw された場合でも、そこまでに読み込んだデータは data に格納されます。

戻り値として実際に読み込んだバイト数を返します。入力ストリームが終端に達していてデータが読み出せなかった場合は -1 を返します。

InputStream クラスにおけるこのメソッドは、read(data, 0, data.length) と記述するのと等価です。

パラメータ:
data - 読み出したデータを格納する byte 配列を渡します。
戻り値:
読み出したデータのバイト数あるいは -1 を返します。
例外:
IOException - データの読み出し時に何らかの障害が発生した場合に throw します。
NullPointerException - datanull が渡された場合に throw します。

read

public int read(byte[] data,
                int index,
                int length)
         throws IOException

入力ストリームから指定バイト数分のデータを指定された byte 配列の指定位置へ読み出します。 このメソッドは指定バイト数のデータの読み出しが完了するか、入力ストリームが終端に達するかあるいは例外が throw されるまでブロックします。

このメソッドで例外が throw されるのは以下の場合です。

これらの例外が throw された場合でも、そこまでに読み込んだデータは data に格納されます。

戻り値として実際に読み込んだバイト数を返します。入力ストリームが終端に達していてデータが読み出せなかった場合は -1 を返します。

InputStream クラスにおけるこのメソッドは、read() メソッドを必要回数呼び出してデータを読み出し、配列へ格納するように記述されています。 最初の read() メソッドの呼び出しで IOException クラスが throw された場合は catch されずにそのまま throws されます。 初回以後に同例外が throw された場合はそれを catch し、終端を検出したときと同様に読み込みをそこで終了します。

サブクラスでより効率的な処理が可能な場合はオーバーライドして処理を記述すべきです。

パラメータ:
data - 読み出したデータを書き込む byte 配列を渡します。
index - 読み出したデータを書き込み開始する byte 配列の位置を渡します。
length - 読み出すデータのバイト数を渡します。
戻り値:
読み出したデータのバイト数あるいは -1 を返します。
例外:
IOException - 初回のデータ読み出しが入力ストリームが終端に達した以外の要因で読み出しに失敗した場合に throw します。
NullPointerException - datanull が渡された場合に throw します。
IndexOutOfBoundsException - index が負数あるいは index + lengthdata のサイズを超える場合に throw します。

skip

public long skip(long length)
          throws IOException

入力ストリームから指定バイト数分のデータを読み飛ばします。 しかし、実際に読み飛ばすことのできるデータ数がさまざまな要因(入力ストリームが終端に達するなど)によって指定されたバイト数に達しないこともあります。 戻り値には実際に読み飛ばしたバイト数を返します。

InputStream クラスにおけるこのメソッドは、入力ストリームが終端に達するか指定回数に達するまで read() メソッドを呼び出してデータを読み捨てるように記述されています。 サブクラスでより効率的な処理が可能な場合はオーバーライドして処理を記述すべきです。

パラメータ:
length - 読み飛ばすバイト数を渡します。
例外:
IOException - 入力ストリームが終端に達した以外の要因で読み出しに失敗した場合に throw します。

available

public int available()
              throws IOException

次回の処理において、入力ストリームがブロックすることなく取り扱うことのできる、つまり読み出したり読み飛ばしたりすることが可能なバイト数を返します。

InputStream クラスにおけるこのメソッドは戻り値として常に 0 を返します。 サブクラスではこのメソッドをオーバーライドし、適切な処理を記述しなければなりません。

戻り値:
次回の呼び出しで入力ストリームがブロックすることなく取り扱えるバイト数を返します。
例外:
IOException - 処理に伴い、入力関係で何らかの障害が発生した場合に throw します。

close

public void close()
           throws IOException

入力ストリームをクローズし、関連するリソースを全て開放します。

InputStream クラスにおけるこのメソッドは何も処理を行いません。

例外:
IOException - 処理に伴い、入力関係で何らかの障害が発生した場合に throw します。

mark

public void mark(int limitlen)

入力ストリームが指している現在位置をマークします。 reset() メソッドを呼び出すと入力ストリームが次回データを取り出す位置がマークした位置へ戻ります。 これにより、入力ストリームの特定部分を繰り返し読むことができます。

パラメータで渡された limitlen は、位置をマークしてから読み出す可能性のある最大バイト数を示しています。 このバイト数を超えて入力ストリームのデータを操作した場合、マーク位置が無効になることがあります。

このメソッドは、mark(int) メソッドによってマークした位置へ reset() メソッドによって読み出し位置を戻す機能をサポートしている場合は markSupported() メソッドは true を返し、mark(int) メソッドはパラメータによって渡された limitlen が示すバイト数の操作が行われても reset() メソッドでマーク位置に戻れるように処理を実装する様に規定されています。

InputStream クラスにおけるこのメソッドは何も処理を行いません。

パラメータ:
limitlen - 現在位置をマークしてから読み出される可能性のある最大バイト数を渡します。

reset

public void reset()
           throws IOException

入力ストリームが次回データを読み出す位置を、最後に mark(int) メソッドによってマークした位置あるいは実装に固有な規定位置に戻します。

このメソッドは以下の様に実装することが規定されています。

InputStream クラスにおけるこのメソッドは何も処理を行わずに常に IOException を throw します。

例外:
IOException - マークされた位置が無効となっている場合あるいはこのメソッドの操作をサポートしていない場合に throw します。
関連項目:
markSupported(), mark(int)

markSupported

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 部分は同仕様の範囲外であるため、まったく参考とはしていません。

※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。

この API リファレンスは仕様書の日本語版という位置づけでは作成していませんし、仕様書ほど厳格でもありません。MUST、SHOULD、MAY などの仕様の条件を強調する文を維持していません(反映すらしていない個所もあります)。仮想マシンおよび MIDP の実装のために使用することは避けてください。そのような用途には必ず公式仕様書原文そのものを用いるべきです。
この API リファレンスに記載されている内容は"さかきけい"が Sun Microsystems, Inc や Motorola, Inc、Java Community Process が公開している各種公式資料を元に、独自に調査・編集したものであり、Sun Microsystems, Inc や Motorola, Inc、Java Community Process 等とは一切関係ありません。したがってこの API リファレンスに関する問い合わせを関係各社等に対して行うことを固く禁じます。
また、記載された内容には既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本 API リファレンスを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開および Internet/Intranet/LAN を問わず他サイトに転載すること、複写および複製すること、ローカル・ファイル等に保存することを禁じます。


Copyright© 2001-2002,2005-2009,2011 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。

Unofficial "CLDC 1.0 + MIDP 1.0" API Reference はこちらです。