Java RandomAccessFile read()方法

java.io.RandomAccessFile.read((byte[] b,int off,int len) 方法从此文件读取多达len个字节数据到一个字节数组。

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.RandomAccessFile.read((byte[] b,int off,int len)方法的例子
 */
import java.io.*;

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

        try {
            byte[] b1 = {1, 2, 3};
            byte[] b2 = {1, 2, 3, 4, 5, 6, 7, 8};

            // create a new RandomAccessFile with filename test
            RandomAccessFile raf = new RandomAccessFile("d:/test.txt", "rw");

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

            // set the file pointer at 0 position
            raf.seek(0);

            // read 2 bytes, starting from 1
            System.out.println("" + raf.read(b1, 1, 2));

            // set the file pointer at 0 position
            raf.seek(0);

            // read 3 bytes, starting from 4rth
            System.out.println("" + raf.read(b2, 4, 3));
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

假设test.txt文件内容如下:

ABCDE

输出结果为:

2
3

热门文章

优秀文章