如下代码:
RandomAccessFile file=new RandomAccessFile("c://1.txt", "rw");
for(int i=0;i<10;i++){
file.writeDouble(1.444);
}
file.close();//删除
file=new RandomAccessFile("c://1.txt", "rw");//删除
//打出文件内容
for(int i=0;i<10;i++){
System.out.println(file.readDouble());
}
file.close();
我把标有删除的代码删除,也就是把直接使用一个file引用,先进行写入,然后不关闭继续打出文件内容,会出现错误,为什么非得关闭呢?
应该是你写的时候,正好是写到文件尾,你再去读,当然是空了,除非是指针移到开头,再读试试。
用普通的读写流进行读写的是不是也是写过之后都是指向文件尾部的的,而不是指向文件,所以都是不能用一个引用来读?
@菩提下的木树: 是的,是指向文件尾,但并不是说不能用同一个引用来读。有一个方法叫什么来着seek,我记不清了,反正是移指针的。把指针移到开头或是有数据的地方就行了。