Java如何使用RandomAccessFile类?

这是使用RandomAccessFile类读取数据并将其写入文件的示例。使用RandomAccessFile使我们能够在文件指针处读取或写入文件中的特定位置。将该文件想象成具有自己索引的大量数据。

在下面的代码中,您将看到如何创建的实例RandomAccessFile并定义其操作模式(读/写)。创建对象后,我们向文件中写入一些数据,一些书名。代码的最后几行演示了如何读取文件数据。

package org.nhooo.example.io;

import java.io.IOException;
import java.io.RandomAccessFile;

public class RandomAccessFileExample {

    public static void main(String[] args) {
        try {
            // 让我们在文件末尾写一些书名
            String books[] = new String[5];
            books[0] = "Professional JSP";
            books[1] = "The Java Application Programming Interface";
            books[2] = "Java Security";
            books[3] = "Java Security Handbook";
            books[4] = "Hacking Exposed J2EE & Java";

            //创建一个新的RandomAccessFile类实例。
            RandomAccessFile raf = new RandomAccessFile("books.dat", "rw");
            for (String book : books) {
                raf.writeUTF(book);
            }

            // 在文件末尾写入另一个数据。
            raf.seek(raf.length());
            raf.writeUTF("Servlet & JSP Programming");

            // 将文件指针移到文件开头
            raf.seek(0);

            // 当文件指针小于文件长度时,请阅读
            // 当前位置的下一个数据文件字符串
            // 文件指针。
            while (raf.getFilePointer() < raf.length()) {
                System.out.println(raf.readUTF());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

我们程序的结果是:

Professional JSP
The Java Application Programming Interface
Java Security
Java Security Handbook
Hacking Exposed J2EE & Java
Servlet & JSP Programming