Latest web development tutorials

Javaのように、ByteArrayInputStreamクラス

メモリ内のバイト配列入力ストリームバッファに格納されたバイト配列からデータを読み取るためにバッファのバイト配列入力ストリームを作成します。 いくつかの方法がありますオブジェクトをバイト配列入力ストリームを作成します。

作成するためのパラメータとしてバイト配列を受け取ります。

ByteArrayInputStream bArray = new ByteArrayInputStream(byte [] a);

作成するもう一つの方法は、バイト配列を受信することであり、2つの整数の変数オフ、lenが、オフ最初に読み込まれたバイトを表し、lenは読み込むバイトの長さを示しています。

ByteArrayInputStream bArray = new ByteArrayInputStream(byte []a, 
                                                       int off, 
                                                       int len)

バイト配列入力ストリーム・オブジェクトが正常に作成されたら、あなたは、対流の読み取り操作または他の操作を次のメソッドの一覧を見ることができます。

いいえ。 メソッド説明
1 公共int型の読み取り()
この入力ストリームは、次のデータバイトを読み取ります。
2 公共int型の読み取り(バイト[] rは 、オフint型int型のlen)
ほとんどlenバイト配列にこの入力ストリームからデータのバイト。
3 利用可能な公共のint()
戻り値は、この入力をストリームから読み取られたバイト数をブロックすることはできません。
4 公共ボイドマーク(int型の読み取り)
現在のマーカ位置にストリームを設定します。
5 公共長いスキップ(長n個)
この入力ストリームからスキップするnの入力のバイト。

次の例では、するByteArrayInputStreamおよびByteArrayOutputStreamをの使用を示しています。

import java.io.*;

public class ByteStreamTest {

   public static void main(String args[])throws IOException {

      ByteArrayOutputStream bOutput = new ByteArrayOutputStream(12);

      while( bOutput.size()!= 10 ) {
         // 获取用户输入值
         bOutput.write(System.in.read());
      }

      byte b [] = bOutput.toByteArray();
      System.out.println("Print the content");
      for(int x= 0 ; x < b.length; x++) {
         // 打印字符
         System.out.print((char)b[x]  + "   ");
      }
      System.out.println("   ");

      int c;

      ByteArrayInputStream bInput = new ByteArrayInputStream(b);

      System.out.println("Converting characters to Upper case " );
      for(int y = 0 ; y < 1; y++ ) {
         while(( c= bInput.read())!= -1) {
            System.out.println(Character.toUpperCase((char)c));
         }
         bInput.reset();
      }
   }
}

次のような結果をコンパイルした上記の例は次のとおりです。

asdfghjkly
Print the content
a   s   d   f   g   h   j   k   l   y
Converting characters to Upper case
A
S
D
F
G
H
J
K
L
Y