Servus,
seit heut hab ich ein sehr seltsames Problem. Bisher haben RandomAccessFiles immer perfekt funktioniert, doch seit heute springt der FilePointer von allein irgendwann ganz ans Ende. Ich verstehe aber nicht warum, und ich habe auch die Stellen, an denen mein Programm den FilePointer selbst beeinflußt, mit Log-Ausgaben versehen. Dabei kam raus, daß mein Programm nicht schuld ist, sondern der Pointer von ganz allein plötzlich nach hinten springt.
Das einzige, was mir noch aufgefallen ist, ist daß der Zeitpunkt beeinflußbar ist. Und zwar lese ich in einer Schleife immer wieder aus der Datei - wenn ich die Größe des Buffers reduziere, dann tritt der Effekt auch schneller auf. Ich gebe mir in der Schleife dauernd den FilePointer aus, und egal, wo ich mich in der Datei befinde, nach ein paar Durchläufen springt der Pointer wie gesagt exakt ans Ende.
Ich versteh das nicht, vor allem hat es bisher immer funktioniert, und erst seit heute zickt das Programm rum (und die Datei, die gelesen wird, ist übrigens auch noch dieselbe wie schon immer).
Woran kann das liegen?
EDIT: Ich hab noch einen weiteren Beweis, daß es nicht an meinem Programm liegt - und zwar abstrahiere ich den Datei-Input über eine eigene Klasse, wodurch ich wahlweise mit einem RandomAccessFile arbeiten kann, oder mit einer Datei, die komplett in den Speicher gelesen wurde. Das Programm verhält sich also in beiden Fällen gleich, und wenn ich aus dem Speicher rauslese, tritt der Effekt nicht auf. Wenn ich wieder auf den Dateizugriff umstelle dagegen schon. Und auch dieser Mechanismus ist seit 'nem halben Jahr etwa der gleiche und wurde auch nicht verändert.
seit heut hab ich ein sehr seltsames Problem. Bisher haben RandomAccessFiles immer perfekt funktioniert, doch seit heute springt der FilePointer von allein irgendwann ganz ans Ende. Ich verstehe aber nicht warum, und ich habe auch die Stellen, an denen mein Programm den FilePointer selbst beeinflußt, mit Log-Ausgaben versehen. Dabei kam raus, daß mein Programm nicht schuld ist, sondern der Pointer von ganz allein plötzlich nach hinten springt.
Das einzige, was mir noch aufgefallen ist, ist daß der Zeitpunkt beeinflußbar ist. Und zwar lese ich in einer Schleife immer wieder aus der Datei - wenn ich die Größe des Buffers reduziere, dann tritt der Effekt auch schneller auf. Ich gebe mir in der Schleife dauernd den FilePointer aus, und egal, wo ich mich in der Datei befinde, nach ein paar Durchläufen springt der Pointer wie gesagt exakt ans Ende.
Ich versteh das nicht, vor allem hat es bisher immer funktioniert, und erst seit heute zickt das Programm rum (und die Datei, die gelesen wird, ist übrigens auch noch dieselbe wie schon immer).
Woran kann das liegen?
EDIT: Ich hab noch einen weiteren Beweis, daß es nicht an meinem Programm liegt - und zwar abstrahiere ich den Datei-Input über eine eigene Klasse, wodurch ich wahlweise mit einem RandomAccessFile arbeiten kann, oder mit einer Datei, die komplett in den Speicher gelesen wurde. Das Programm verhält sich also in beiden Fällen gleich, und wenn ich aus dem Speicher rauslese, tritt der Effekt nicht auf. Wenn ich wieder auf den Dateizugriff umstelle dagegen schon. Und auch dieser Mechanismus ist seit 'nem halben Jahr etwa der gleiche und wurde auch nicht verändert.