gezielt eine Zeile einlesen?

Status
Nicht offen für weitere Antworten.

Wikinator

Aktives Mitglied
Hallo,

ich benutze den BufferedReader um eine Datei einzulesen. Wie kann ich nun eine bestimme Zeile einlesen (bspw. Zeile 5) ohne den Rest auch einlesen zu müssen? Bis jetzt mache ich das so:
Code:
        tempVariable1 runBefore = in.readLine();         
        tempVariable2 = in.readLine();
        tempVariable3 = in.readLine();

        dieEigentlicheVariable = in.readLine();

das gleiche bei BufferedWriter. Wie kann ich ihm sagen, dass er nur Zeile 5 neu schreiben soll?
 
garnicht. der muss schon zeile für zeile durch. zumindest bis der an deiner gewünschten zeile ist, dann kannste abbrechen.
 
Code:
int zeilenr = 5;
String line = in.readLine();
for (int i = zeilenr; i != 0 && line != null; i--)
    line = in.readLine();
 
messi hat gesagt.:
Code:
int zeilenr = 5;
String line = in.readLine();
for (int i = zeilenr; i != 0 && line != null; i--)
    line = in.readLine();

na ganz doll. da lutscht der trotzdem zeilen durch, bis der an zeile x ist. er hat gefragt ob er direkt auf zeile x zugreifen kann.
 
wenn du weißt wie lang die zeilen sind kannst du mit RandomAccessFile die bytes überspringen.
 
kann man nicht irgendwie die "\n" oder "\r\n" zählen. also müsste man doch eigentlich den bereich zwischen dem 4. und dem 5. einlesen können. ist aber bloß sone idee von mir gewesen. weiss leider nciht, ob das funktionieren würde :autsch:. würde mich aber trotzdem interessieren
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben