问答详情
源自:3-1 RandomAccessFile基本操作

我在每个获取指针位置后多加一个raf.write(),结果指针位置也多加了1?

//读写文件,显示指针位置
		RandomAccessFile raf = new RandomAccessFile(file, "rw");
		System.out.println("指针位置"+raf.getFilePointer());//0
		raf.write('A');
		System.out.println("指针位置"+raf.getFilePointer());//1
		System.out.println(raf.read());//66
		raf.write('B');
		System.out.println("指针位置"+raf.getFilePointer());//2
		System.out.println(raf.read());//127

0、1、2是我没有添加System.out.println(raf.read());时的结果,但是添加之后显示如下:

http://img.mukewang.com/598da0760001a41a02090340.jpg

读取文件操作还会增加文件中的字节长度?

提问者:秦家小小神 2017-08-11 20:18

个回答

  • define_ray
    2017-08-30 11:18:11
    已采纳

    刚测试了一下,

    raf.read() 读取一个字节时,指针也向后移动一位,指向下一位置。

    所以再write之后输出3。

  • qq_叫我刘月半_0
    2017-08-12 13:48:08

    你看看你编码的模式是什么吧