public static void main(String[]args) throws IOException{
RandomAccessFile file=new RandomAccessFile(new File("a.txt"),"rw");
file.writeInt(1);//开始给一个整数,长度:4
for(int i=0;i<40;i++){
file.seek(file.length()-4);//然后4-4=0;那不是在0上面重复了吗?当然结果没有重复!只是我想不通!!!
//file.seek(i*4);这样我就很明白,每次长4
file.writeInt(file.readInt());
}
file.close();
}
RandomAccessFile file=new RandomAccessFile(new File("a.txt"),"rw");
file.writeInt(1);//开始给一个整数,长度:4
for(int i=0;i<40;i++){
file.seek(file.length()-4);//然后4-4=0;那不是在0上面重复了吗?当然结果没有重复!只是我想不通!!!
//file.seek(i*4);这样我就很明白,每次长4
file.writeInt(file.readInt());
}
file.close();
}
0 1 0 1 0 1 0 1...0 1 0 1 0 1 0 1
↑
seek(0);指针不动
file.readInt();读4字节,指针向后移动32位
成为:
0 1 0 1 0 1 0 1...0 1 0 1 0 1 0 1
↑
seek(0);指针仍然不动
file.readInt();继续读4字节,指针向后移动32位所以读出内容是连续的
如果seek(n);//n!=1
那么读出的内容就不连续了