public static void main(String[] args) {
RandomAccessFile raf=null;
try {
raf=new RandomAccessFile("d:/c.txt","rw");
//将若干数据写入到文件当中
int arr[]=new int[]{10,20,30,40,50,60,70,80,90,100};
for (int i=0;i< arr.length;i++){
raf.writeInt(arr[i]);
}
raf.seek(4); //更改指针的位置 4个字节 int类型一个数组为4个字节
System.out.println(raf.readInt());;
//每隔一个输出
for (int i=0;i< arr.length;i+=2){
raf.seek(4*i);
System.out.print(raf.readInt()+"\t");
}
System.out.println();
//更改对应位置元素
raf.seek(8);
raf.writeInt(45);
for (int i=0;i< arr.length;i+=2){
raf.seek(4*i);
System.out.print(raf.readInt()+"\t");
}
System.out.println();
for (int i=0;i< arr.length;i++){
raf.writeInt(arr[i]);
}
for (int i=0;i< arr.length;i++){
raf.seek(4*i);
System.out.print(raf.readInt()+"\t");
}
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if (raf!=null){
raf.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
}
老师我在更改元素后又使用了for添加数据 为什么输出结果就变成了
System.out.println();
for (int i=0;i< arr.length;i++){
raf.writeInt(arr[i]);
}
for (int i=0;i< arr.length;i++){
raf.seek(4*i);
System.out.print(raf.readInt()+"\t");
}
100去哪里了呢 为什么最后一个变成10 了