Java-bytearrayinputstream

提供:Dev Guides
移動先:案内検索

Java-ByteArrayInputStream

ByteArrayInputStreamクラスを使用すると、メモリ内のバッファーをInputStreamとして使用できます。 入力ソースはバイト配列です。

ByteArrayInputStreamクラスは、次のコンストラクターを提供します。

Sr.No. Constructor and Description
1

ByteArrayInputStream(byte [] a)

このコンストラクターは、パラメーターとしてバイト配列を受け入れます。

2

ByteArrayInputStream(byte [] a, int off, int len)

このコンストラクタは、バイト配列と2つの整数値を取ります。ここで、 off は読み取られる最初のバイトで、 len は読み取られるバイト数です。

_ByteArrayInputStream_オブジェクトを手に入れたら、ストリームの読み取りやストリームに対する他の操作に使用できるヘルパーメソッドのリストがあります。

Sr.No. Method & Description
1

public int read()

このメソッドは、InputStreamからデータの次のバイトを読み取ります。 データの次のバイトとしてintを返します。 ファイルの終わりであれば、-1を返します。

2

public int read(byte[] r, int off, int len)

このメソッドは、入力ストリームから配列への off から始まる len バイトまで読み取ります。 読み取られた合計バイト数を返します。 ファイルの終わりであれば、-1が返されます。

3

public int available()

このファイル入力ストリームから読み取ることができるバイト数を提供します。 読み込むバイト数を示すintを返します。

4

public void mark(int read)

これにより、ストリーム内の現在のマーク位置が設定されます。 このパラメーターは、マークされた位置が無効になる前に読み取ることができる最大バイト数を示します。

5

public long skip(long 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 ) {
        //Gets the inputs from the user
         bOutput.write("hello".getBytes());
      }
      byte b [] = bOutput.toByteArray();
      System.out.println("Print the content");

      for(int x = 0 ; x < b.length; x++) {
        //printing the characters
         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();
      }
   }
}

上記のプログラムのサンプル実行は次のとおりです-

出力

Print the content
h   e   l   l   o   h   e   l   l   o
Converting characters to Upper case
H
E
L
L
O
H
E
L
L
O