En este módulo, aprenderemos cómo manejar archivos en REXX. La capacidad de leer y escribir archivos es fundamental para muchas aplicaciones, y REXX proporciona una serie de funciones y técnicas para realizar estas operaciones de manera eficiente.
Contenido
Introducción a la E/S de Archivos
La entrada/salida (E/S) de archivos en REXX se realiza mediante el uso de funciones y comandos específicos que permiten abrir, leer, escribir y cerrar archivos. Estos son algunos de los conceptos clave:
- Abrir un archivo: Preparar un archivo para lectura o escritura.
- Leer un archivo: Extraer datos de un archivo.
- Escribir un archivo: Guardar datos en un archivo.
- Cerrar un archivo: Finalizar la operación de E/S y liberar recursos.
Abrir y Cerrar Archivos
Para trabajar con archivos en REXX, primero debemos abrirlos. Esto se hace utilizando el comando EXECIO
. Aquí hay un ejemplo básico de cómo abrir y cerrar un archivo:
/* Abrir un archivo para lectura */ filename = "miarchivo.txt" "EXECIO * DISKR" filename "(FINIS" /* Abrir un archivo para escritura */ "EXECIO * DISKW" filename "(FINIS"
DISKR
se utiliza para abrir un archivo en modo de lectura.DISKW
se utiliza para abrir un archivo en modo de escritura.(FINIS
indica que el archivo debe cerrarse después de la operación.
Leer Archivos
Para leer datos de un archivo, utilizamos el comando EXECIO
con la opción DISKR
. Aquí hay un ejemplo de cómo leer un archivo línea por línea:
/* Leer un archivo línea por línea */ filename = "miarchivo.txt" "EXECIO * DISKR" filename "(STEM line." /* Mostrar el contenido del archivo */ do i = 1 to line.0 say line.i end
En este ejemplo:
line.
es una variable de tipo stem que almacena cada línea del archivo.line.0
contiene el número total de líneas leídas.
Escribir Archivos
Para escribir datos en un archivo, utilizamos el comando EXECIO
con la opción DISKW
. Aquí hay un ejemplo de cómo escribir varias líneas en un archivo:
/* Escribir datos en un archivo */ filename = "miarchivo.txt" line.1 = "Primera línea" line.2 = "Segunda línea" line.0 = 2 "EXECIO * DISKW" filename "(STEM line."
En este ejemplo:
line.
es una variable de tipo stem que contiene las líneas a escribir.line.0
indica el número total de líneas a escribir.
Ejemplos Prácticos
Ejemplo 1: Leer y Mostrar el Contenido de un Archivo
/* Leer y mostrar el contenido de un archivo */ filename = "miarchivo.txt" "EXECIO * DISKR" filename "(STEM line." if line.0 = 0 then say "El archivo está vacío o no se pudo leer." else do i = 1 to line.0 say line.i end
Ejemplo 2: Escribir Datos en un Archivo
/* Escribir datos en un archivo */ filename = "miarchivo.txt" line.1 = "Hola, Mundo!" line.2 = "Esta es una segunda línea." line.0 = 2 "EXECIO * DISKW" filename "(STEM line." say "Datos escritos en el archivo."
Ejercicios
Ejercicio 1: Leer un Archivo y Contar las Líneas
Instrucciones: Escribe un programa en REXX que lea un archivo y cuente el número de líneas que contiene. Muestra el resultado en la pantalla.
Solución:
/* Contar el número de líneas en un archivo */ filename = "miarchivo.txt" "EXECIO * DISKR" filename "(STEM line." if line.0 = 0 then say "El archivo está vacío o no se pudo leer." else say "El archivo contiene" line.0 "líneas."
Ejercicio 2: Escribir un Archivo con Datos del Usuario
Instrucciones: Escribe un programa en REXX que solicite al usuario que ingrese varias líneas de texto y las guarde en un archivo.
Solución:
/* Escribir datos ingresados por el usuario en un archivo */ filename = "miarchivo.txt" line.0 = 0 do forever say "Ingrese una línea de texto (o 'FIN' para terminar):" pull input if input = "FIN" then leave line.0 = line.0 + 1 line.line.0 = input end "EXECIO * DISKW" filename "(STEM line." say "Datos escritos en el archivo."
Conclusión
En esta sección, hemos aprendido cómo realizar operaciones básicas de entrada/salida de archivos en REXX. Hemos cubierto cómo abrir, leer, escribir y cerrar archivos, y hemos visto ejemplos prácticos y ejercicios para reforzar estos conceptos. Con estas habilidades, ahora puedes manejar archivos en tus programas REXX, lo que te permitirá crear aplicaciones más complejas y útiles.
En el próximo módulo, exploraremos cómo trabajar con arreglos en REXX, lo que te permitirá manejar colecciones de datos de manera más eficiente. ¡Sigue adelante!
Curso de Programación REXX
Módulo 1: Introducción a REXX
- ¿Qué es REXX?
- Configuración del Entorno REXX
- Hola Mundo en REXX
- Sintaxis y Estructura Básica
- Variables y Tipos de Datos
Módulo 2: Conceptos Básicos de Programación
- Operadores y Expresiones
- Estructuras de Control: IF/THEN/ELSE
- Bucles: DO y LEAVE
- Entrada y Salida
- Manipulación Básica de Cadenas
Módulo 3: Programación Intermedia en REXX
- Funciones y Subrutinas
- Funciones Integradas
- Manejo de Errores
- Operaciones de Entrada/Salida de Archivos
- Trabajando con Arreglos
Módulo 4: Programación Avanzada en REXX
- Manipulación Avanzada de Cadenas
- Técnicas de Análisis
- Interfaz con Programas Externos
- Macros en REXX
- Optimización del Rendimiento