Hi,
habe eine Bin-Datei und eine zweite Bin-Datei (mit RandomAccessFile) in der ich mich aber nur über seek bewegen kann, die Methode skipBytes funzt nicht mit negativen Zahlen (also z.B. 0xFFFFFFFE) !!!
Es wird zwar fertig kompiliert, beim Aufruf der Datei erhalte ich dann aber den Fehler:
Das Ärgernis ist nun folgendes:
Es funzt so nur mit positiven Zahlen - also mit seek zurück und mit postitver Zahl innerhalb der Datei vorwärts (was so völlig Witzlos ist, da ich dann gleich mit seek arbeiten kann, aber zusätzlich innerhalb der Datei mein Sprungziel berechnen muss) - ich hoffe es hat irgend jemand im Net Erfahrung oder findet ein lauffähiges Beisp. - es gibt einige Dokumentationen die behaupten, es geht mit negativen Zahlen, aber ein lauffähiges Beisp. schuldig bleiben (und ich verstehe die angegebene "Pseudo-Syntax" nicht ...)
Außerdem wäre der Befehl sonst vollkommen überflüssig - ich glaube die Syntax ist einfach besonders anders (z.B. die Variable ist kein "Int" sondern ein "singned Int" oder etwas anderes Schlaues)
Habe das schon in zwei Foren gefragt aber es scheint keiner zu wissen ... :-(
Java-Uni Forum
Problem im RandomAccessFile - coding-board
Danke im Vorraus
habe eine Bin-Datei und eine zweite Bin-Datei (mit RandomAccessFile) in der ich mich aber nur über seek bewegen kann, die Methode skipBytes funzt nicht mit negativen Zahlen (also z.B. 0xFFFFFFFE) !!!
Es wird zwar fertig kompiliert, beim Aufruf der Datei erhalte ich dann aber den Fehler:
Code:
1. java Test Exception in thread "main" java.io.EOFException
2. at java.io.RandomAccessFile.readByte(Unknown Source)
3. at Test.main(Test.java:116)
Code:
1. byte b000 = 0;
2. int zurueck = -2;
3. // Prog. selbst:
4. b000 = inStr.readByte();
5. outStr.writeByte(b000);
6. b000 = inStr.readByte();
7. outStr.writeByte(b000);
8. b000 = inStr.readByte();
9. outStr.writeByte(b000);
10. b000 = inStr.readByte();
11. outStr.writeByte(b000); // Kopiert einfach die ersten 4 Bytes aus erster in zweite Datei
12. // diese 3 Zeilen würden funzen, sind aber so Mist da ich relativ zum Ende zurück will ...
13. // outStr.seek(0); // Zeiger der Ausgabedatei auf 1. Byte
14. // b000 = outStr.readByte(); // Das 1. Byte der Ausgabedatei einlesen
15. // outStr.seek(4); // Zeiger der Ausgabedatei auf 5. Byte
16.
17. outStr.skipBytes(zurueck); // erste Variante (die super wäre, weg. Variable ...)
18. outStr.skipBytes(0xFE); // zweite Variante - funzt mit positiven Zahlen
19. b000 = outStr.readByte();
20. outStr.writeByte(b000);
Außerdem wäre der Befehl sonst vollkommen überflüssig - ich glaube die Syntax ist einfach besonders anders (z.B. die Variable ist kein "Int" sondern ein "singned Int" oder etwas anderes Schlaues)
Habe das schon in zwei Foren gefragt aber es scheint keiner zu wissen ... :-(
Java-Uni Forum
Problem im RandomAccessFile - coding-board
Danke im Vorraus