raf.write('A'); raf.write('b');
重复run这个文件,为什么raf文件中始终只有一个Ab?难道不是每次执行一次都会添加一次Ab吗
因为你每run一次,指针都是从0开始的,每run一次都改写了上一次内容,你可以尝试运行一下老师的程序,然后再在程序前添加 raf.seek(12),使下一次从12byte处开始写,运行后你会发现输出长度为24
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'); }
之前的代码是建立这个文件,然后Run相当于重新建立一次这个文件