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

来源:3-1 RandomAccessFile基本操作

秦家小小神

2017-08-11 20:18

//读写文件,显示指针位置
		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

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

写回答 关注

2回答

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

    刚测试了一下,

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

    所以再write之后输出3。

    秦家小小神

    非常感谢!

    2017-08-31 19:55:10

    共 1 条回复 >

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

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

    秦家小小神

    能否详细说下?

    2017-08-12 13:55:39

    共 1 条回复 >

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133754 学习 · 1030 问题

查看课程

相似问题