重复执行write()却不会重复写入?

来源:3-1 RandomAccessFile基本操作

慕粉4241372

2017-03-03 11:35

raf.write('A');
raf.write('b');

重复run这个文件,为什么raf文件中始终只有一个Ab?难道不是每次执行一次都会添加一次Ab吗

写回答 关注

3回答

  • 向上看
    2017-03-04 21:12:45
    已采纳

    因为你每run一次,指针都是从0开始的,每run一次都改写了上一次内容,你可以尝试运行一下老师的程序,然后再在程序前添加 raf.seek(12),使下一次从12byte处开始写,运行后你会发现输出长度为24

    向上看 回复慕粉4241...

    没事,相互学习!

    2017-03-06 20:13:43

    共 2 条回复 >

  • 慕粉4241372
    2017-03-03 14:10:25
    public static void main(String[] args)throws IOException {
        File demo=new File("d://demo");
        if(!demo.exists())
            demo.mkdir();
    	File file=new File(demo,"raf.text");
    	if(!file.exists())
    	    file.createNewFile();
    	RandomAccessFile raf=new RandomAccessFile(file, "rw");
    	raf.write('A');
    	raf.write('b');
    }


  • 不会走路的老鼠
    2017-03-03 13:18:13

    之前的代码是建立这个文件,然后Run相当于重新建立一次这个文件

    慕粉4241...

    全部代码我贴在下面回答里了,有个判断条件,不存在才会新建的

    2017-03-03 14:11:48

    共 2 条回复 >

文件传输基础——Java IO流

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

133814 学习 · 1060 问题

查看课程

相似问题