Java PushbackInputStream read()方法

java.io.PushbackInputStream.read(byte[] b,int off,int len) 方法读取最多len个从这个输入流中数据的字节到字节数组。该方法首先读取任何推回字节;在这之后,如果大于len字节少已读那么它会读取从底层输入流。如果len不为零,则该方法阻塞,直到输入最少1个字节是可用的;否则,不读取任何字节并返回0。

1 语法

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

2 参数

b:被读出缓冲器中的数据。

off:在目标数组b偏移的开始

len:读出的最大字节数。

3 返回值

此方法返回读入缓冲区的总字节数,或如果没有更多的数据,因为数据流的末尾已到达则返回-1。

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.io.PushbackInputStream.read(byte[] b,int off,int len) 方法的例子
 */
import java.io.*;

public class Demo {
    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

热门文章

优秀文章