Derzeit, um die gewünschte Zeile aus der Datei zu finden, lese ich die Datei Zeile für Zeile, bis die Zeichenfolge, die ich suche, der aktuellen Zeile entspricht.Ergreifen Sie eine Zeichenfolge aus einer Datei in einer Zeile?
Dies ist wie eine schlechte Programmierpraxis, da meine Dateien 1000+ Zeilen sind; Gibt es eine Möglichkeit, entweder einem Scanner oder einem gepufferten Lesegerät (oder etwas anderem?) zu sagen, eine Zeichenkette aus Zeichen AT einer gegebenen Zeile zu erstellen?
EDIT: es scheint, dass dies nicht physikalisch möglich ist, wie ajb darauf hingewiesen.
Ich denke, die beste Lösung wäre, die gesamte Datei in einen String [] von Zeilen zu lesen.
Ich sehe wirklich keinen Weg um potenziell die gesamte Datei zu scannen, um zu finden, was Sie wollen. –
Benchmark die Leistung in Editoren wie Notepad ++ und Sie werden eine Verzögerung für eine Datei mit 100K + Zeilen sehen. –
Sofern Sie sich nicht auf einem VMS-System befinden (falls noch weitere vorhanden sind), werden Textdateien als Zeichenfolgen mit '\ n' oder' \ r \ n' zwischen jeder Zeile gespeichert. Es gibt keinen "Index" oder irgendetwas, um dem System zu sagen, wo der Anfang jeder Zeile ist, oder irgendwelche anderen Metadaten, die helfen würden, dies zu beschleunigen. Es ist ungefähr so, als würde ich dir ein Buch geben und sagen "Finde das 1000ste" im Buch ". Es gibt keine Möglichkeit, es zu tun, außer sie alle zu zählen, angefangen von Anfang an. – ajb