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();
            }
            
            
        }
    
    }
  • 相关阅读:
    网页转图片,html生成图片,网页生成图片(基于linnux+phantomjs)和wkhtmltoimage
    51Nod 1031 骨牌覆盖 | Fibonacci
    51Nod 1024 矩阵中不重复的元素 | 技巧 数学
    51Nod 1014 X^2 Mod P
    51Nod 1010 只包含因子2 3 5的数 | 预处理+二分
    51Nod 1007 正整数分组 | DP (01背包)
    51Nod 1381 硬币游戏 | 概率(数学期望)
    51Nod 1347 旋转字符串 | 规律
    51Nod 1344 走格子 | 贪心
    51Nod 1305 Pairwise Sum and Divide | 思维 数学
  • 原文地址:https://www.cnblogs.com/wwyx-xi/p/7424660.html
Copyright © 2011-2022 走看看