zoukankan      html  css  js  c++  java
  • IO流 RandomAccessFile

    package com.yyq;
    import java.io.*;
    /*
     * RandomAccessFile 
     * 该类不算是IO体系中的子类
     * 而是直接继承自Object
     * 但是他是Io包中的成员,因为它具备读和写的功能
     * 内部封装了一个数组,而且通过指针对数组的元素进行操作
     * 可以通过getFilePointer获取指针位置
     * 同时可以通过seek改变指针的位置
     * 
     * 其实完成读写的原理就是内部封装了字节输入流和输出流
     * 通过构造函数可以看出:该类只能操作文件,而且操作文件还有模式
     * 如果该对象的构造函数要操作的文件不存在,会自动创建,如果存在则不会覆盖
     * 
     * 如果模式为只读r 不会创建文件,回去读取一个已存在文件,
     * 如果该文件不存在,则会出现异常
     * 如果模式为rw,操作的文件不存在,会自动创建,如果存在则不会覆盖
     * 它可以实现数据的分段往里写入数据。
     * 
     */
    public class RandomAccessFileDemo {
    
        public static void main(String[] args) throws Exception {
            // TODO Auto-generated method stub
            writeFile();
            //readFile();
        }
        public static void readFile() throws IOException{
            RandomAccessFile raf = new RandomAccessFile("ran.txt","r");
            // 调整对象中的指针
            // 跳过多少个字节来取,跳过指定的字节数
            
            raf.seek(0);
            // 可以往下跳,但是不能往回跳
            raf.skipBytes(1);
            byte[] buf = new byte[4];
            raf.read(buf);
            String name = new String(buf);
            //int age = raf.readInt();
            System.out.println(name);
        }
        // RandomAccessFile 可以随机写
        public static void writeFile_2() throws IOException{
            RandomAccessFile raf = new RandomAccessFile("ran.txt","rw");
            raf.write("lisi".getBytes());
            //wirte 方法 只能显示 后8位
            raf.writeInt(258);
            raf.close();
        }
        public static void writeFile() throws IOException{
            RandomAccessFile raf = new RandomAccessFile("ran.txt","rw");
            raf.seek(8*4);
            raf.write("aaa".getBytes());
            //wirte 方法 只能显示 后8位
            raf.writeInt(258);
            raf.close();
        }
    
    }
  • 相关阅读:
    [充电]多线程无锁编程--原子计数操作:__sync_fetch_and_add等12个操作
    [转]架构、框架、模式、模块、组件、插件、控件、中间件的含义
    [网络]网络爬虫
    PHP时间戳和日期转换
    两个input之间有空隙,处理方法
    去除输入框原始效果【原创】
    php做图片上传功能
    PHP获取随机数的函数rand()和mt_rand()
    PHP简单的图片上传
    基于layui的表格异步删除,ajax的简单运用
  • 原文地址:https://www.cnblogs.com/yangyongqian/p/5155355.html
Copyright © 2011-2022 走看看