Java核心类库-IO-随机访问文件(RandomAccessFile)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java核心类库-IO-随机访问文件(RandomAccessFile)相关的知识,希望对你有一定的参考价值。

随机访问文件:表示可以在该文件任何位置读取数据。

public class RandomAccessFileDemo
{
    public static void main(String[] args) throws Exception {
        File f = new File("raf.txt");
        //write(f);
        read(f);
    }

    private static void read(File f) throws Exception {
        //r表示只读
        RandomAccessFile raf = new RandomAccessFile(f,"r");
        System.out.println("文件指针位置:"+ raf.getFilePointer());//0
        byte b = raf.readByte();
        System.out.println(b);//64
        System.out.println("文件指针位置:"+ raf.getFilePointer());//1
        String str = raf.readUTF();
        System.out.println(str);//邓肯
        System.out.println("文件指针位置:"+ raf.getFilePointer());//9
        raf.seek(0);//设置文件指针位置
        System.out.println("文件指针位置:"+ raf.getFilePointer());//0
        raf.skipBytes(9);//设置文件指针跳过9个字节
        System.out.println("文件指针位置:"+ raf.getFilePointer());//9
        int i = raf.readInt();
        System.out.println(i);
        System.out.println("文件指针位置:"+ raf.getFilePointer());//13
        raf.close();
    }

    private static void write(File f) throws Exception {
        //rw表示读写
        RandomAccessFile raf = new RandomAccessFile(f,"rw");
        raf.writeByte(65);
        raf.writeUTF("邓肯");//使用的是修改之后的UTF-8,多两个字节
        raf.writeInt(20);
        raf.close();
    }
}

RandomAccessFile经常用来做多线程下载:

1. 多线程

2. 多点下载

以上是关于Java核心类库-IO-随机访问文件(RandomAccessFile)的主要内容,如果未能解决你的问题,请参考以下文章

Java 常用类库 之 Random 随机数类

Java核心技术:随机访问文件

Java核心类库-IO-文件过滤器(FilenameFilter)

Java核心类库-IO-文件流概述和系统属性

Java 核心编程——文件随机读写类(RandomAccessFile)

Java核心类库-IO-IO概述