• 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();
            }
            
            
        }
    
    }
  • 相关阅读:
    Spark Interaction(特征交互-笛卡尔转换)
    Spark DCT 离散余弦变换
    Spark polynomialExpansion 多项式扩展
    Spark PCA
    Spark n-gram模型
    Spark OneHotEncoder
    Spark 逻辑回归LogisticRegression
    查看macOS下正在使用的zsh
    Neovim中NERDTree等多处cursorline不高亮
    让pip使用python3而不是python2
  • 原文地址:https://www.cnblogs.com/wwyx-xi/p/7424660.html
Copyright © 2020-2023  润新知