zoukankan      html  css  js  c++  java
  • 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();
            }
            
            
        }
    
    }
  • 相关阅读:
    IPC之util.h源码解读
    新麦装机问题汇
    AngularJS2+调用原有的js脚本(AngularJS脚本跟本地原有脚本之间的关系)
    K60平台智能车开发工作随手记
    苹果手机上下载的文件在哪里?
    Mac电脑C语言开发的入门帖
    Python2中文处理纪要
    比特币核心概念及算法
    将dylib库嵌入macOS应用的方法
    那些令人惊艳的TensorFlow扩展包和社区贡献模型
  • 原文地址:https://www.cnblogs.com/wwyx-xi/p/7424660.html
Copyright © 2011-2022 走看看