package IODemo;
/*向文件中写入10个数据,第i个数据=圆周率*i(i=0,1,2,...,9),然后将第二个(i=2)改为
0,最后将10个数据全部输出*/
import java.io.IOException;
import java.io.RandomAccessFile;
public class TestFileRAF {
public static void main(String[] args){
try{
RandomAccessFile f=new RandomAccessFile("TestFileRAF.txt","rw");
int i;
double d;
//写:向文件写入10个数据
for(i=0;i<10;i++){
//f.writeDouble()写入double数据的方法
f.writeDouble(Math.PI*i);
//修改:对文件中第2个double数据改为0
f.seek(16);//文件针往前走16个字节(2个double数据);seek:寻找
f.writeDouble(0);
f.seek(0);//文件指针回到文件首部
//读取:将全部数据独处并打印到屏幕中
for(i=0;i<10;i++){
d=f.readDouble();
System.out.println("["+i+"]:"+d);
}
f.close();
}
}catch (IOException e){
System.err.println("发现异常:"+e);
e.printStackTrace();
}
}