IO —— 随机访问流

来源:互联网 发布:淘宝怎么使用农村淘宝 编辑:程序博客网 时间:2024/05/23 21:53

说明:这里的随机是针对“不随机、按顺序访问”而言的。

/** * Created by liwei on 16/7/20. *//* * 随机访问流: *      RandomAccessFile类不属于流,是Object类的子类。 *      但它融合了InputStream和OutputStream的功能。 *      支持对文件的随机访问读取和写入。 * * public RandomAccessFile(String name,String mode):第一个参数是文件路径,第二个参数是操作文件的模式。 *      模式有四种,我们最常用的一种叫"rw",这种方式表示我既可以写数据,也可以读取数据 */public class RandomAccessFileDemo {    public static void main(String[] args) throws IOException {        read();        //write();    }    public static void read() throws IOException{        // 创建随机访问流对象        RandomAccessFile raf = new RandomAccessFile("raf.txt","rw");        Integer i = raf.readInt();        // 该文件指针可以通过 getFilePointer方法读取,并通过 seek 方法设置。        System.out.println("当前文件的指针位置:" + raf.getFilePointer());        Character c = raf.readChar();        System.out.println("当前文件的指针位置:" + raf.getFilePointer());        String str = raf.readUTF();        System.out.println("当前文件的指针位置:" + raf.getFilePointer());        System.out.println(i);        System.out.println(c);        System.out.println(str);        // 如果我不想从头开始        // 我想从中间这个状态读取        raf.seek(6);        String str1 = raf.readUTF();        System.out.println(str1);        raf.close();    }    public static void write() throws IOException{        // 创建随机访问流对象        // 随机访问流对象有几种模式,请参看文档        RandomAccessFile raf = new RandomAccessFile("raf.txt","rw");        raf.writeInt(100);        raf.writeChar('a');        raf.writeUTF("李威");        raf.close();    }}
0 0