Hallo,
ich muss in einer sequentiellen Datei hin- und herspringen. Daher habe ich folgende Methode geschrieben:
Was meint ihr? Kann man an dieser Methode noch was verbessern/optimieren? Die Methode funktioniert. Nur ich finde ein bisschen langsam. Das kommt meiner Meinung daher, dass ich ja immer eine Stelle zurück muss (raFile.seek(position)😉.
Vielen Dank für die Hilfe
Grüße
Heidi
ich muss in einer sequentiellen Datei hin- und herspringen. Daher habe ich folgende Methode geschrieben:
Code:
/**
*
* Liest den vorherigen Datensatz
*
* @param position
* @return
* @throws java.lang.Exception
*/
private String readPreviousLine(long position) throws Exception {
StringBuilder cache = new StringBuilder();
char c;
if (position != 0) {
this.posEnde = position;
position = position - 3;
raFile.seek(position);
//Verarbeitung fuer Dateien mit variabler Datensatzlaenge
while (true) {
c = (char) raFile.read();
if (c == '\n' || position <= 0 || c == '\uFFFF') {
break;
}
cache.append(c);
position--;
raFile.seek(position);
}
if (position > 0) {
this.posStart = position + 1;
} else if (position == 0) {
cache.append(c);
this.posStart = position;
}
}
return cache.toString();
}
Was meint ihr? Kann man an dieser Methode noch was verbessern/optimieren? Die Methode funktioniert. Nur ich finde ein bisschen langsam. Das kommt meiner Meinung daher, dass ich ja immer eine Stelle zurück muss (raFile.seek(position)😉.
Vielen Dank für die Hilfe
Grüße
Heidi