public static void main(String[] args) throws IOException{ RandomAccessFile file = new RandomAccessFile("file path", "rw"); long l = file.readLong(); file.seek(l); int i = file.readInt(); System.out.println(i); }
或者用getFilePointer(), Returns the current offset in this file.raf.seek(raf.getgetFilePointer() + longData);来指定文件指针位置,这个是相对于文件开始处的位置. 用这个来代替raf.skipBytes(longData).
fread(&longData, sizeof(long), 1, fp); // 读取long型数据int currentLocation = ftell(fp); // 取得当前的文件指针位置(可以用,也可以不用,用SEEK_CUR)
fseek(fp, (long)longData, SEEK_CUR); // 偏移文件指针与当前的距离是longData.int intData;
fread(&intData, sizeof(int), 1, fp); // 读取int型数据.这个是C的,但理论上是一样的,改成Java就行了.
raf.skipBytes(longData); // 相对于当前文件指针位置,偏移longData个字节.int intData = raf.readInt();
RandomAccessFile file = new RandomAccessFile("file path", "rw");
long l = file.readLong();
file.seek(l);
int i = file.readInt();
System.out.println(i);
}
用这个来代替raf.skipBytes(longData).