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

java.io
クラス ByteArrayInputStream

java.lang.Object
  上位を拡張 java.io.InputStream
      上位を拡張 java.io.ByteArrayInputStream

public class ByteArrayInputStream
extends InputStream

任意の byte 配列を入力ストリームとして取り扱う機能を提供するクラスです。

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

フィールドの概要
protected  byte[] buf
          このストリームの作成時に渡されたバイト配列への参照を保持しています。
protected  int count
          このストリームで保持している読み出し対象配列の最後の位置より 1 大きい値を保持しています。
protected  int mark
          このストリームでマークしている byte 配列内の位置を保持しています。
protected  int pos
          このストリームから次に読み出す buf 内の位置を保持しています。
 
コンストラクタの概要
ByteArrayInputStream(byte[] data)
          入力ストリームとして取り扱うデータを受け取ってオブジェクトを構築します。
ByteArrayInputStream(byte[] data, int index, int length)
          入力ストリームとして取り扱うデータを受け取ってオブジェクトを構築します。
 
メソッドの概要
 int available()
          入力ストリームからブロックを発生させずに読み出すことのできるバイト数を返します。
 void close()
          入力ストリームをクローズし、関連するリソースをすべて開放します。
 void mark(int limitlen)
          現在の読み出し位置をマークします。
 boolean markSupported()
          ByteArrayInputStreammark メソッドおよび reset() メソッドをサポートしているか否かを返します。
 int read()
          入力ストリームから1バイトのデータを読み込み、符号なしの数値(0255)として返します。
 int read(byte[] buf, int index, int length)
          入力ストリームから指定バイト数のデータを指定されたバッファへ指定されたバイト数分読み出します。
 void reset()
          現在の読み出し位置をマークした位置へ戻します。
 long skip(long length)
          入力ストリームから指定バイト数分のデータを読み飛ばします。
 
クラス java.io.InputStream から継承されたメソッド
read
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

buf

protected byte[] buf
このストリームの作成時に渡されたバイト配列への参照を保持しています。 ストリームは pos の位置から指定バイト数分読み出します。 byte 配列の最後の位置は count に設定されています。


pos

protected int pos
このストリームから次に読み出す buf 内の位置を保持しています。 この値は常に正数であり、count よりも小さい値でなければなりません。


mark

protected int mark
このストリームでマークしている byte 配列内の位置を保持しています。 マークは mark メソッドで行い、マーク位置への読み出し位置へ戻す操作は reset() メソッドによって行います。 このクラスの構築時にはデフォルトで 0 が設定されています。


count

protected int count
このストリームで保持している読み出し対象配列の最後の位置より 1 大きい値を保持しています。 この値は正数で buf のサイズ以内の値でなければなりません。

コンストラクタの詳細

ByteArrayInputStream

public ByteArrayInputStream(byte[] data)
入力ストリームとして取り扱うデータを受け取ってオブジェクトを構築します。 読み出し開始位置は受け取ったデータの先頭、読み出し終了位置はデータの最後となります。 つまり、pos = 0count = data.length に設定します。 読み取り対象のデータのコピーは作成されません。

パラメータ:
data - 入力ストリームとして取り扱う byte 配列のデータを渡します。

ByteArrayInputStream

public ByteArrayInputStream(byte[] data,
                            int index,
                            int length)
入力ストリームとして取り扱うデータを受け取ってオブジェクトを構築します。 読み取り開始位置は index、終了位置は index + length - 1 となります。 つまり、pos = indexcount = index + length に設定します。 読み取り対象のデータのコピーは作成されません。

パラメータ:
data - 入力ストリームとして取り扱う byte 配列のデータを渡します。
index - 入力ストリームとして取り扱う、配列中の開始位置を渡します。
length - 入力ストリームとして取り扱う、開始位置からの長さを渡します。
メソッドの詳細

read

public int read()

入力ストリームから1バイトのデータを読み込み、符号なしの数値(0255)として返します。 読み出す対象のデータが存在しない場合は -1 を返します。

このメソッドはブロックしません。

定義:
クラス InputStream 内の read
戻り値:
入力ストリームから読み出した数値あるいは -1 を返します。

read

public int read(byte[] buf,
                int index,
                int length)

入力ストリームから指定バイト数のデータを指定されたバッファへ指定されたバイト数分読み出します。 入力ストリームに指定されたバイト数分のデータがない場合、入力ストリームに残っているデータのみが読み出し対象となります。 読み出したバイト数は戻り値に返します。 ただし、入力ストリームが終端に達している場合、戻り値には -1 を返します。

データの読み出し後、次回の読み出しにあわせて pos に読み出したバイト数が加算されます。

一般に入力ストリームからバッファへのデータのコピーには System クラスの arraycopy メソッドを使用します。

オーバーライド:
クラス InputStream 内の read
パラメータ:
buf - 入力ストリームから読み出したデータを受け取る byte 配列を渡します。
index - 入力ストリームから読み出したデータを格納する buf 内の位置を渡します。
length - 入力ストリームから読み出すバイト数を渡します。
戻り値:
入力ストリームから buf へ読み出されたバイト数あるいは -1 を返します。

skip

public long skip(long length)

入力ストリームから指定バイト数分のデータを読み飛ばします。 入力ストリームに指定されたバイト数のデータが存在しない場合は入力ストリームに存在する残りのデータを読み飛ばします。 戻り値には実際に読み飛ばしたバイト数を返します。

オーバーライド:
クラス InputStream 内の skip
パラメータ:
length - 読み飛ばすバイト数を渡します。
戻り値:
実際に読み飛ばしたバイト数を返します。

available

public int available()

入力ストリームからブロックを発生させずに読み出すことのできるバイト数を返します。 返すバイト数は count - pos の結果値となります。

オーバーライド:
クラス InputStream 内の available
戻り値:
ブロックを発生させずに読み出すことができるバイト数を返します。

markSupported

public boolean markSupported()

ByteArrayInputStreammark メソッドおよび reset() メソッドをサポートしているか否かを返します。 サポートしている場合は true を、サポートされていない場合は false を返します。

オーバーライド:
クラス InputStream 内の markSupported
戻り値:
mark メソッドおよび reset() メソッドをサポートしているか否かを返します。
関連項目:
mark(int), reset()

mark

public void mark(int limitlen)

現在の読み出し位置をマークします。 マークした読み出し位置へは reset() メソッドで戻すことができます。 ByteArrayInputStream クラスではマークの初期位置は 0 が設定されています。

オーバーライド:
クラス InputStream 内の mark
パラメータ:
limitlen - ByteArrayInputStream クラスでは意味を持ちません。
関連項目:
mark, reset()

reset

public void reset()
           throws IOException

現在の読み出し位置をマークした位置へ戻します。 次回の読み出しはマークした位置からとなります。

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

close

public void close()
           throws IOException
入力ストリームをクローズし、関連するリソースをすべて開放します。

オーバーライド:
クラス InputStream 内の close
例外:
IOException - 処理に伴い、入力関係で何らかの障害が発生した場合に throw します。

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 はこちらです。