2 jjzzggkk jjzzggkk 于 2016.05.07 16:48 提问

这个实例怎么改才能让其正常运行

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();
    }
}

}
图片说明

1个回答

qq_20246395
qq_20246395   2016.05.08 00:58
已采纳

f.seek不要使用这个试试

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!