001
20.11.2012, 14:34 Uhr
ao
(Operator)
|
Direkt zu einer Zeilennummer springen geht nicht. Vor und zurück springen kannst du nur um eine Anzahl Zeichen. Und du kennst die Anzahl nicht, weil du nicht vorab weißt, wie lang die Zeilen sind. Um zu einer bestimmten Zeilennummer zu gehen, musst du also die Datei Zeile für Zeile lesen, alles, was dich nicht interessiert, sofort wegwerfen und dabei die Zeilen mitzählen.
Bei Dateien, die so ein Format haben wie hier (Feldname in Klammern und dahinter den zugeordneten Wert), ist aber üblicherweise gerade nicht garantiert, dass der Name in Zeile 2 steht und das Alter in Zeile 4. Auch wenn das in der Wirklichkeit (fast) immer so ist: Es ist nicht verboten, es anders zu machen, und irgendwer wird das irgendwann tun. Also sollte die Leseroutine auch entsprechend programmiert werden.
Du musst also so lange die Datei lesen, bis du auf das Feld [name] triffst. Die nächste Zeile ist dann der gesuchte Name. Beim Alter dasselbe.
Und wenn du das Ganze jetzt richtig schön machen willst, dann nimmst du nicht dieses selbstdefinierte Dateiformat, sondern XML. Dann sieht das etwa so aus:
<name>Bauer Hans</name> <alter>34</alter>
und es gibt für praktisch jede denkbare Umgebung XML-Bibliotheken, die die Datei für dich zerpflücken und dir den Inhalt vorstrukturiert anbieten. |