2010-12-06 2 views
0

Meine Anforderung besteht darin, eine Datei zu lesen und einige Daten aus jeder Zeile abzurufen. für zB: Angenommen, meine Datei conatain dieser Daten:Wie verschiebe ich den Cursor beim Lesen der UTL-Datei zu new_line?

a b c d 
e f g h 

Ich möchte ein b c lesen, nachdem er eine b c lesen, ich möchte zweite Zeile direkt bewegen, e zu lesen. Gibt es irgendeine Funktion, um den Cursor zum Starten der nächsten Zeile von der aktuellen Zeile zu bringen (Stellen Sie sich vor, die Cursorposition befindet sich in der Mitte der aktuellen Zeile und ich muss direkt zum Anfang der nächsten Zeile springen "to e here").

Bitte lassen Sie mich wissen !!

Antwort

1

UTL_FILE.GET_LINE liest Daten aus der Datei jeweils Zeile für Zeile. Das erste Mal, das es aufgerufen wurde, würde die Zeile "a b c d" lesen, das zweite Mal "e f g h". Ich weiß nicht, was Sie meinen, indem Sie sagen, dass Ihre "Cursor-Position in der Mitte der aktuellen Zeile ist". Können Sie Ihren Code bisher posten?

+0

+1. Die Verwendung von 'GET_LINE' bedeutet effektiv, dass der" Cursor "* immer * am Anfang einer Zeile ist. –

+0

Meine Anforderung ist es, bis c zu lesen, dann den Cursor zum Anfang der nächsten Zeile zu bewegen, wenn ich die Zeile d bekomme, wird auch fekt gemacht. Ich will nicht, dass ich direkt zur nächsten Zeile gehen möchte. – Vineet

+0

Sie können nicht. Sie müssen die ganze Zeile lesen, die "d" enthält. Dann parse es in deinem eigenen Code, um das 'd' zu entfernen. UTL_FILE untersucht nicht den Inhalt der gelesenen Zeilen, sondern gibt nur ganze Zeilen zurück. –

1

Nach dem Lesen einer Zeile mit get_line, verwenden Sie instr und substr, um nur eine b c zu erhalten und dann zur nächsten Zeile zu gehen.

+0

bitte schreiben Sie Ihre Antwort um klarer zu sein – ArtB

Verwandte Themen