RandomAccessFile - Zeile finden

Status
Nicht offen für weitere Antworten.

H2SO4

Bekanntes Mitglied
Hallo!

Ist es möglich, und wenn ja wie eine, eine bestimmte Zeile in einem RandomAccessFile zu finden?

Die Zeile soll über ihren Inhalt identifiziert werden nicht über die Zeilennummer, quasi: Gib mir die Zeile, oder besser, prüfe, ob eine Zeile mit dem Text "Test" existiert.

Wäre euch für eure Hilfe sehr dankbar, Danke!
 
... prüfe, ob eine Zeile mit dem Text "Test" existiert....

Java:
RandomAccessFile f;
		String suchText = "Test";
		f = new RandomAccessFile("C:\\text.txt", "r");
		int linenumber = 0;
		for (String line; (line = f.readLine()) != null;) {
			linenumber++;
			if (line.contains(suchText)) {
				System.out.println("'" + suchText + "'"
						+ " ist im File enthalten (Z." + linenumber + ")");
			}
		}

so in etwa... überprüft halt nur ob gegebener string (case sensitive) in der zeile enthalten ist.
 
Mein Plan ist folgender: Es soll immer überprüft werden, existiert die Zeile, nein->einfügen, ja, nicht einfügen.

Eingefügt werden ca. 1 Million Zeilen. Das Beispiel oben wird also mit jedem Einfügen immmmmmer langsamer. Gibt es dafür eine Lösung? Oder einen anderen Weg der Suche?
 
Vielleicht stelle ich meine Frage nochmal genauer: Wie durchsucht man sehr große Dateien, relativ schnell, nach einem bestimmten String?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben