Java-io-bufferedinputstream-read-byte

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

Java.io.BufferedInputStream.read()メソッド

説明

  • java.io.BufferedInputStream.read(byte [] b、int off、int len)メソッドは、指定されたオフセットから開始して、バイト入力ストリームからバイト配列に *len バイトを読み込みます。 このメソッドは、基になるストリームの* read()*メソッドを繰り返し呼び出します。

反復読み取りは、次の条件のいずれかが真になるまで続きます-

  • 読み取られた len バイト。
  • ファイルの終わりを示す -1 を返します。
  • BufferedInputStreamの* available()*メソッドが0を返す場合

宣言

以下は、* java.io.BufferedInputStream.read(byte [] b、int off、int len)*メソッドの宣言です。

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

パラメーター

  • b -読み込まれるバイト配列。
  • off -オフセットから保存を開始します。
  • len -読み取るバイト数。

戻り値

このメソッドは値を返しません。

例外

*IOException* -I/Oエラーが発生した場合。

次の例は、java.io.BufferedInputStream.read(byte [] b、int off、int len)メソッドの使用方法を示しています。

package com.finddevguides;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;

public class BufferedInputStreamDemo {
   public static void main(String[] args) throws Exception {
      InputStream inStream = null;
      BufferedInputStream bis = null;

      try {
        //open input stream test.txt for reading purpose.
         inStream = new FileInputStream("c:/test.txt");

        //input stream is converted to buffered input stream
         bis = new BufferedInputStream(inStream);

        //read number of bytes available
         int numByte = bis.available();

        //byte array declared
         byte[] buf = new byte[numByte];

        //read byte into buf , starts at offset 2, 3 bytes to read
         bis.read(buf, 2, 3);

        //for each byte in buf
         for (byte b : buf) {
            System.out.println((char)b+": " + b);
         }
      } catch(Exception e) {
         e.printStackTrace();
      } finally {
        //releases any system resources associated with the stream
         if(inStream!=null)
            inStream.close();
         if(bis!=null)
            bis.close();
      }
   }
}

テキストファイル* c:/test.txt*があり、次の内容があるとします。 このファイルは、サンプルプログラムの入力として使用されます-

ABCDE

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

  : 0
  : 0
A: 65
B: 66
C: 67