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

Posted 柳暗花明睡一觉

tags:

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

1.RandomAccessFile

  RandomAccessFile主要用于文件内容的读写访问

2.访问模式

  “r”:只读方式。

  “rw”:打开以便读取和访问,如果文件不存在则创建文件。

  “rws”: 除了‘rw‘功能以外,文件内容或者元数据更新时一同写入。

  “rwd”:除了‘rw‘功能以外,文件内容更新时一同写入。

3.使用案例

package test;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class RandomAccess {
    
    
    public static void main(String[] args) {
        try {
            File file = new File("C:\\img\\666.txt");
            
            //打开文件
            RandomAccessFile randomAccess = new RandomAccessFile(file,"rwd"); //访问文件 
            Long lenth = randomAccess.length(); //获取文件长度
            System.out.println("lenth:"+lenth);
            randomAccess.seek(4); //设置指针位置
            
            //读取文件
            int c = randomAccess.read(); //读取一个字节
            System.out.println("c:"+c);
            System.out.println("c:"+(char)c); //转换为字符
            
            byte[] b = new byte[3]; //读取字节数字,创建数组
            randomAccess.read(b, 1, 2); //从指针1处读取两个字节写入数组b中
            String s = new String(b); //转换为字符串
            System.out.println("byte:"+s); //输出
            
            //写入文件
            File file2 = new File("C:\\img\\777.txt");
            if(!file2.getParentFile().exists()){
                file2.getParentFile().mkdirs();
            } 
            file2.createNewFile();
            RandomAccessFile randomAccess2 = new RandomAccessFile(file2,"rwd"); //访问文件 
            randomAccess2.write(b); //写入字符数组
            
            //关闭文件
            randomAccess.close();
            randomAccess2.close();
            
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        
    }

}

 

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

Java并发编程之美读书笔记5-Java并发包中ThreadLocalRandom类原理剖析

RandomAccessFile类

随机读写的RandomAccessFile

Java学习关于随机数工具类--Random类

Java 实现文件随机读写-RandomAccessFile

Chapter03 Random类