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