Rexx - E / S de archivos
Rexx proporciona varios métodos cuando se trabaja con E / S. Rexx proporciona clases más sencillas para proporcionar las siguientes funcionalidades para archivos.
- Leer archivos
- Escribir en archivos
- Ver si un archivo es un archivo o un directorio
Las funciones disponibles en Rexx para E / S de archivos se basan tanto en la entrada de línea como en la entrada de caracteres y veremos las funciones disponibles para ambas en detalle.
Exploremos algunas de las operaciones de archivo que Rexx tiene para ofrecer. Para los propósitos de estos ejemplos, asumiremos que hay un archivo llamadoNewFile.txt que contiene las siguientes líneas de texto:
Example1
Example2
Example3
Este archivo se utilizará para las operaciones de lectura y escritura en los siguientes ejemplos. Aquí discutiremos sobre cómo leer el contenido de un archivo de diferentes maneras.
Leer el contenido de un archivo una línea a la vez
Las operaciones generales en archivos se llevan a cabo utilizando los métodos disponibles en la propia biblioteca Rexx. La lectura de archivos es la más simple de todas las operaciones en Rexx.
Veamos la función utilizada para lograr esto.
en linea
Este método devuelve una línea del archivo de texto. El archivo de texto es el nombre de archivo proporcionado como parámetro de entrada a la función.
Syntax -
linein(filename)
Parameter -
filename - Este es el nombre del archivo desde donde se debe leer la línea.
Return Value - Este método devuelve una línea del archivo a la vez.
Example -
/* Main program */
line_str = linein(Example.txt)
say line_str
El código anterior es bastante simple en el hecho de que el Example.txtEl nombre del archivo se proporciona a la función linein. Esta función luego lee una línea de texto y proporciona el resultado a la variableline_str.
Output - Cuando ejecutamos el programa anterior obtendremos el siguiente resultado.
Example1
Leer el contenido de un archivo a la vez
En Rexx, la lectura de todo el contenido de un archivo se puede lograr con la ayuda de la instrucción while. La instrucción while leerá cada línea, una por una hasta que se llegue al final del archivo.
A continuación se muestra un ejemplo de cómo se puede lograr esto.
/* Main program */
do while lines(Example.txt) > 0
line_str = linein(Example.txt)
say line_str
end
En el programa anterior, se deben tener en cuenta las siguientes cosas:
La función de líneas lee el Example.txt archivo.
La función while se utiliza para comprobar si existen más líneas en el archivo Example.txt.
Para cada línea leída del archivo, el line_strLa variable contiene el valor de la línea actual. Esto luego se envía a la consola como salida.
Output - Cuando ejecutamos el programa anterior obtendremos el siguiente resultado.
Example1
Example2
Example3
Escribir contenido en un archivo
Al igual que la lectura de archivos, Rexx también tiene la capacidad de escribir en archivos. Veamos la función que se usa para lograr esto.
Fuera de la linea
Este método escribe una línea en un archivo. El archivo en el que se debe escribir la línea se proporciona como parámetro de la instrucción lineout.
Syntax -
lineout(filename)
Parameter -
filename - Este es el nombre del archivo desde donde se debe escribir la línea.
Return Value- Este método devuelve el estado de la función de salida de línea. El valor devuelto es 0 si la línea se escribió correctamente; de lo contrario, se devolverá el valor 1.
Example -
/* Main program */
out = lineout(Example.txt,"Example4")
Output - Siempre que se ejecute el código anterior, la línea "Example4" se escribirá en el archivo Example.txt.