RandomAccessFile 学习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RandomAccessFile 学习相关的知识,希望对你有一定的参考价值。

package com.java.xuelei;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class TestRandomAccessFile {
    public static void main(String[] args) {
        try {
            RandomAccessFile raf = new RandomAccessFile("c:/123.txt", "rw");
//            raf.seek(6);   //指针偏移量为6    指针从第6个字节开始读取
            raf.seek((raf.length()));  //定义指针到尾部   相当于追加
            raf.writeBytes("hahaha");  //写入"hahaha"
            String a=null;
            while((a=raf.readLine())!=null){    //readLine()方法从此文件读取文本的下一行。
                System.out.println(a);
            }
            long len = raf.length();    //返回文件的长度   返回值为long类型    换行占用2个长度
            System.out.println("此文件的长度为"+len);
            
            
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();    
        }catch (Exception e) {
            System.out.println("异常");
        }
    }

}

 

package com.java.xuelei;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class TestRandomAccessFile {
    public static void main(String[] args) {
        try {
            RandomAccessFile raf = new RandomAccessFile("c:/123.txt", "rw");
//            raf.seek(6);   //指针偏移量为6    指针从第6个字节开始读取
            raf.seek((raf.length()));  //定义指针到尾部   相当于追加
            raf.writeBytes("hahaha");  //写入"hahaha"
            String a=null;
            while((a=raf.readLine())!=null){    //readLine()方法从此文件读取文本的下一行。
                System.out.println(a);
            }
            long len = raf.length();    //返回文件的长度   返回值为long类型    换行占用2个长度
            System.out.println("此文件的长度为"+len);
            
            
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();    
        }catch (Exception e) {
            System.out.println("异常");
        }
    }

}



































以上是关于RandomAccessFile 学习的主要内容,如果未能解决你的问题,请参考以下文章

Java学习笔记6.3.2 文件操作 - 随机存取文件类

系统学习 Java IO ----FileInputStream/FileOutputStream & RandomAccessFile

JFileChooser和FileFilter的使用,以及Java RandomAccessFile用法

Java学习总结—内存流,打印流,对象流,RandomAccessFile,装饰者设计模式

Java学习总结—内存流,打印流,对象流,RandomAccessFile,装饰者设计模式

使用 RandomAccessFile 到达文件中的特定行