Rexx - Datei-E / A.
Rexx bietet eine Reihe von Methoden für die Arbeit mit E / A. Rexx bietet einfachere Klassen, um die folgenden Funktionen für Dateien bereitzustellen.
- Dateien lesen
- In Dateien schreiben
- Überprüfen, ob eine Datei eine Datei oder ein Verzeichnis ist
Die in Rexx für Datei-E / A verfügbaren Funktionen basieren sowohl auf der Zeileneingabe als auch auf der Zeicheneingabe, und wir werden uns die für beide verfügbaren Funktionen im Detail ansehen.
Lassen Sie uns einige der Dateivorgänge untersuchen, die Rexx zu bieten hat. Für die Zwecke dieser Beispiele wird davon ausgegangen, dass eine Datei mit dem Namen vorhanden istNewFile.txt welches die folgenden Textzeilen enthält -
Example1
Example2
Example3
Diese Datei wird in den folgenden Beispielen für die Lese- und Schreibvorgänge verwendet. Hier werden wir diskutieren, wie der Inhalt einer Datei auf verschiedene Arten gelesen werden kann.
Lesen des Inhalts einer Datei zeilenweise
Die allgemeinen Operationen an Dateien werden mit den in der Rexx-Bibliothek selbst verfügbaren Methoden ausgeführt. Das Lesen von Dateien ist die einfachste aller Operationen in Rexx.
Schauen wir uns die Funktion an, mit der dies erreicht wurde.
linein
Diese Methode gibt eine Zeile aus der Textdatei zurück. Die Textdatei ist der Dateiname, der als Eingabeparameter für die Funktion bereitgestellt wird.
Syntax - -
linein(filename)
Parameter - -
filename - Dies ist der Name der Datei, aus der die Zeile gelesen werden muss.
Return Value - Diese Methode gibt jeweils eine Zeile der Datei zurück.
Example - -
/* Main program */
line_str = linein(Example.txt)
say line_str
Der obige Code ist ziemlich einfach in der Tatsache, dass die Example.txtDer Dateiname wird der Linein-Funktion zur Verfügung gestellt. Diese Funktion liest dann eine Textzeile und liefert das Ergebnis an die Variableline_str.
Output - Wenn wir das obige Programm ausführen, erhalten wir das folgende Ergebnis.
Example1
Lesen des Inhalts einer Datei auf einmal
In Rexx kann das Lesen des gesamten Inhalts einer Datei mithilfe der while-Anweisung erreicht werden. Die while-Anweisung liest jede Zeile nacheinander, bis das Ende der Datei erreicht ist.
Ein Beispiel, wie dies erreicht werden kann, ist unten gezeigt.
/* Main program */
do while lines(Example.txt) > 0
line_str = linein(Example.txt)
say line_str
end
Im obigen Programm müssen die folgenden Dinge beachtet werden:
Die Linienfunktion liest die Example.txt Datei.
Mit der while-Funktion wird überprüft, ob weitere Zeilen in der Datei Example.txt vorhanden sind.
Für jede aus der Datei gelesene Zeile wird die line_strVariable enthält den Wert der aktuellen Zeile. Dies wird dann als Ausgabe an die Konsole gesendet.
Output - Wenn wir das obige Programm ausführen, erhalten wir das folgende Ergebnis.
Example1
Example2
Example3
Schreiben von Inhalten in eine Datei
Genau wie das Lesen von Dateien kann Rexx auch in Dateien schreiben. Schauen wir uns die Funktion an, mit der dies erreicht wird.
Lineout
Diese Methode schreibt eine Zeile in eine Datei. Die Datei, in die die Zeile geschrieben werden soll, wird als Parameter für die Lineout-Anweisung bereitgestellt.
Syntax - -
lineout(filename)
Parameter - -
filename - Dies ist der Name der Datei, in die die Zeile geschrieben werden soll.
Return Value- Diese Methode gibt den Status der Lineout-Funktion zurück. Der zurückgegebene Wert ist 0, wenn die Zeile erfolgreich geschrieben wurde. Andernfalls wird der Wert 1 zurückgegeben.
Example - -
/* Main program */
out = lineout(Example.txt,"Example4")
Output - Immer wenn der obige Code ausgeführt wird, wird die Zeile "Beispiel4" in die Datei geschrieben Example.txt.