當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Java.io.PushbackInputStream.read()用法及代碼示例



描述

這個java.io.PushbackInputStream.read(byte[] b,int off,int len)方法從這個輸入流中讀取最多 len 個字節的數據到一個字節數組中。該方法首先讀取任意 pushed-back 個字節;之後,如果讀取的字節數少於 len ,則它從底層輸入流中讀取。如果 len 不為零,則該方法將阻塞,直到至少有 1 個字節的輸入可用;否則,不讀取任何字節並返回 0。

聲明

以下是聲明java.io.PushbackInputStream.read()方法。

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

參數

  • b− 讀取數據的緩衝區。

  • off- 目標數組中的起始偏移量 b。

  • len− 讀取的最大字節數。

返回值

此方法返回讀入緩衝區的總字節數,如果由於已到達流末尾而沒有更多數據,則返回 -1。

異常

  • NullPointerException− 如果 b 為空。

  • IndexOutOfBoundsException− 如果off 為負,len 為負,或者len 大於b.length - off。

  • IOException− 如果此輸入流已通過調用其 close() 方法關閉,或發生 I/O 錯誤。

示例

下麵的例子展示了使用java.io.PushbackInputStream.read()方法。

package com.tutorialspoint;

import java.io.*;

public class PushbackInputStreamDemo {
   public static void main(String[] args) {

      // declare a buffer and initialize its size:
      byte[] arrByte = new byte[1024];

      // create an array for our message
      byte[] byteArray = new byte[]{'H', 'e', 'l', 'l', 'o'};

      // create object of PushbackInputStream class for specified stream
      InputStream is = new ByteArrayInputStream(byteArray);
      PushbackInputStream pis = new PushbackInputStream(is);

      try {
         // read a char into our array
         pis.read(arrByte, 0, 3);

         // print arrByte
         for (int i = 0; i < 3; i++) {
            System.out.print((char) arrByte[i]);
         }
      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

讓我們編譯並運行上麵的程序,這將產生以下結果 -

Hel

相關用法


注:本文由純淨天空篩選整理自 Java.io.PushbackInputStream.read() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。