Eben das ist in einem Random-Access File nicht möglich (war schon zu DOS-Zeiten so). Wenn man "hinter" der Datei liest, bekommt man einfach -1 als "anzahl gelesene bytes" zurück (oder im alten BASIC den Datenmüll, der gerade an dieser Stelle auf der Platte herumlag). Darum war ich da jetzt etwas verwundert ???:L
[code=Java]
import java.io.*;
public class RandomAccess {
public static void main(String[] args) throws Throwable {
File flDummy = new File("dummy");
byte buffer[] = new byte[20];
int i;
RandomAccessFile raf = new RandomAccessFile(flDummy, "rw");
raf.seek(100);
i = raf.read(buffer, 0, buffer.length);
System.out.println("1 Read: " + i + "bytes");
raf.seek(100);
raf.write(buffer);
raf.seek(100);
i = raf.read(buffer, 0, buffer.length);
System.out.println("2 Read: " + i + "bytes");
raf.close();
flDummy.delete();
}
}
[/code]