Sto usando un RandomAccessFile in Java 6 ma ho un comportamento strano durante la lettura dei byte.IndexOutofBounds quando si usano i byte letti di Java
Con questo codice, dove offset
e data
sono opportunamente inizializzati:
int offset;
byte data[];
randFile.readFully(data, offset, data.length);
ottengo il seguente stack:
null
java.lang.IndexOutOfBoundsException
at java.io.RandomAccessFile.readBytes(Native Method)
at java.io.RandomAccessFile.read(RandomAccessFile.java:355)
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:414)
MA, con gli stessi valori di offset
e data
, la il seguente codice (apparentemente identico) funziona bene!
randFile.seek(offset);
for (int i = 0; i < (data.length); i += 1) {
data[i] = randFile.readByte();
}
Qualcuno ha idea del perché questo potrebbe essere?
Quale valore ha 'offset'? – ssantos