RandomAccessFile

    技术2024-08-02  66

    InputStream和OutputStream只能单方面的读写文件内容,如果需要随机读写的功能,可以使用RandomAccessFile类。

    RandomAccessFile同时实现了DataInput和DataOutput接口,适用于由大小已知的记录组成的文件。

    它操作文件内容的时候,就如操作一块内存区域一样,把字节用下标数来定位,在一个文件内向前和向后移动。

     

    主要的方法包括:

    RandomAccessFile file = new RandomAccessFile("f:/test.txt","rw");

     

    (1)length()                    返回此文件内容的字节长度

    int s = file.length();

    (2)getFilePointer()         返回到此文件开头的偏移量(以字节为单位)

    int temp = file.getFilePointer() ;

    (3)seek(long pos)              设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。

    file.seek(1);   //把指针设置到i位置

    (4)read() 和 write()              读取和写入字节文件

    byte b = (byte)file.read();

    char a = (char)b;

    file.write('a');

     

    只有RandomAccessFile支持搜寻方法,并且只适用于文件。

    RandomAccessFile 的大多数方法都会跑出IOException,要针对不同情况,做出不同的响应和处理。

     

     

    最新回复(0)