zoukankan      html  css  js  c++  java
  • 021.13 IO流 RandomAccessFile对象

    对象和方法:
    RandomAccessFile:文件操作对象,Java提供
    getFilePointer:获取文件指针

    特点:
    1、只能操作文件
    2、既能读,又能写
    3、里面维护了一个数组,内部定义了字符的读和写
    4、文件不存在则会创建,文件存在不会覆盖,保持原样
    5、该对象打开文件,指针在开头。
    6、随机的意思是可以随意在哪更改。。。。。。。。。。

    打开方式有:"r"—以只读方式打开,"rw"—打开以便读取和写入,文件不存在则会尝试创建
     //  "rws"—相对于"rw",要求实时更新底层存储设备,"rwd"—要求实时更新底层存储设备


    public static void main(String[] args) throws IOException
    {
    //        writeFile();
        readFile();
    }
    
    //##随机写入
    private static void writeFile() throws IOException
    {
        //创建一个随机访问文件的对象
        RandomAccessFile raf = new RandomAccessFile("myfile\random.txt", "rw");
        
        //写入点数据
        raf.write("小红".getBytes());
        raf.writeInt(98);         //只是使用write只有后面一个字节的数据
        raf.write("小花".getBytes());
        raf.writeInt(99);
        
        //再随机写入数据
        raf.seek(8);     //指针位置指在这个位置,然后写入就会从这个地方开始写,所以文件保持一定的规律会比较好
        raf.write("肖华".getBytes());
        raf.writeInt(100);
        System.out.println(raf.getFilePointer());
        
        raf.close();
    }
    
    //读入
    private static void readFile() throws IOException
    {
        RandomAccessFile raf = new RandomAccessFile("myfile\random.txt", "r");
        
        raf.seek(8);
        byte[] buf = new byte[4];
        raf.read(buf);
        String name = new String(buf);
        
        int age = raf.readInt();
        
        System.out.println(name+":"+age);
        System.out.println(raf.getFilePointer());
        
    }
  • 相关阅读:
    requests模块
    Flask框架 之 上下文管理前戏
    Flask框架 之 学生管理分析
    Flask框架 之 路由和视图详解
    数据库连接池DBUtils
    C++中endl和cout语句
    Linux如何在一个文件中写入内容
    C++常量
    Linux重启命令
    Linux命令1
  • 原文地址:https://www.cnblogs.com/-nbloser/p/9615011.html
Copyright © 2011-2022 走看看