Java基础-IO流对象之随机访问文件(RandomAccessFile)
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.RandomAccessFile简介
此类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。
二.RandomAccessFile用法展示
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.note6; import java.io.RandomAccessFile; /*
*
* RandomAccessFile(File file,String mode)
* RandomAccessFile(String name,String mode)
*/ public class RandomAccessFileDemo {
public static void main(String[] args) throws Exception {
RandomAccessFile raf = new RandomAccessFile("yinzhengjie.txt", "rw");
//写入字节类型的数据
raf.write(97);
//打印文件中当前光标位置
System.out.println(raf.getFilePointer());
//写入int类型的数据
raf.writeInt(200);
System.out.println(raf.getFilePointer());
//写入字符的数据
raf.writeUTF("hello");
System.out.println(raf.getFilePointer());
raf.writeUTF("world");
System.out.println(raf.getFilePointer()); //定位到字符串偏移量,如果是字符的话,需要移动的位置是2+字符长度。
raf.seek(12);
//读一个字符串
String s = raf.readUTF();
System.out.println(s);
System.out.println(raf.getFilePointer());
raf.close();
}
} /*
以上代码执行结果如下:
1
5
12
19
world
19
*/