程序一:public class Test08 {?public static void main(String[] args) throws Exception {??RandomAccessFile raf=new RandomAccessFile("raf.dat", "rw");??int max=Integer.MAX_VALUE;??long lon=Long.MAX_VALUE;??raf.writeInt(max);??raf.seek(0);??System.out.println(raf.readInt());??System.out.println(raf.getFilePointer());??//插入代碼raf.seek(4);??raf.writeLong(lon);??System.out.println(raf.readLong());?}}執行結果:21474836474Exception in thread "main" java.io.EOFException?at java.io.RandomAccessFile.readInt(Unknown Source)?at java.io.RandomAccessFile.readLong(Unknown Source)?at day06.Test08.main(Test08.java:23)程序二:public class Test08 {?public static void main(String[] args) throws Exception {??RandomAccessFile raf=new RandomAccessFile("raf.dat", "rw");??int max=Integer.MAX_VALUE;??long lon=Long.MAX_VALUE;??raf.writeInt(max);??raf.writeLong(lon);??raf.seek(0);??System.out.println(raf.readInt());??System.out.println(raf.getFilePointer());??System.out.println(raf.readLong());?}}結果:214748364749223372036854775807兩者只是??raf.writeLong(lon);?位置不同,為什么一個包異常,一個正常運行,程序一插入代碼任有問題,這是為何???
RandomAccessFile文件讀取操作
初心者3612361
2016-11-13 22:36:17