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.