ObjectInputStream read()方法

java.io.ObjectInputStream.read(byte[] buf, int off, int len) 方法读入字节数组。在某些输入可用之前,该方法将阻塞。请考虑使用java.io.DataInputStream.readFully读取正是“length”字节。

1 语法

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

2 参数

buf:读取数据的缓冲区。

off:数据的起始偏移量。

len:读取的最大字节数。

3 返回值

返回实际读取的字节数,当到达流的末尾时返回-1。

4 示例 

package com.yiidian;

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

public class Demo {
    public static void main(String[] args) {
        byte[] cbuf = new byte[10];

        try {
            // create a new file with an ObjectOutputStream
            FileOutputStream out = new FileOutputStream("test.txt");
            ObjectOutputStream oout = new ObjectOutputStream(out);

            // write something in the file
            oout.writeUTF("Hello World");
            oout.flush();

            // create an ObjectInputStream for the file we created before
            ObjectInputStream ois = new ObjectInputStream(new FileInputStream("test.txt"));

            // read from the stream into an array
            ois.read(cbuf, 0, 7);

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

输出结果为:

 Hello

热门文章

优秀文章