Java - Gelesene Zeile

8

Ich programmiere eine Android-App und möchte, dass mein Programm eine zufällige Zeile einer Datei liest. Wie würde ich das machen?

    
Wallter 24.01.2011, 18:27
quelle

4 Antworten

4

Dafür benötigen Sie entweder Zeilen mit fester Länge (die Implementierungsdetails sollten in diesem Fall offensichtlich sein) oder Informationen darüber, wie viele Zeilen es gibt und (optional für eine bessere Leistung), welche Offsets in der Datei beginnen ( ein Index von Arten).

Bei kleinen Dateien können Sie einen solchen Index bei Bedarf erstellen, wenn Sie eine zufällige Zeile benötigen. Um dies effizient für große Dateien zu tun, müssen Sie den Index permanent beibehalten, vielleicht in einer separaten Datei.

Wenn Zeilen in etwa gleich lang sind und Sie keine perfekte "Zufälligkeit" benötigen, können Sie auch einen zufälligen Byte-Offset innerhalb der Datei auswählen und nach dem nächsten Zeilenumbruch suchen.

    
Michael Borgwardt 24.01.2011, 18:33
quelle
8

Was Sie möchten, ist LineNumberReader .

Sie können die Methode setLineNumber() verwenden, um sich an eine zufällige Position in der Datei zu bewegen.

%Vor%     
jjnguy 24.01.2011 18:30
quelle
2

Eine altmodische Antwort: Wenn Sie eine Null zurückbekommen, rufen Sie einfach die Methode

zurück %Vor%     
Manidip Sengupta 24.01.2011 18:43
quelle
1

Um eine Zufallszahl zu erhalten, können Sie die Random -Klasse von java aus dem util-Paket verwenden.

%Vor%

siehe Ссылка

    
Lars 24.01.2011 18:36
quelle

Tags und Links