Manipulación de archivos

Es relativamente simple escribir y leer archivos. La clase base es File, con la cual referenciamos a un archivo. Esta clase tiene métodos útiles para leer y escribir sobre el archivo.

Crear y escribir archivos

Primero vamos a crear un archivo de texto:

//abrimos un archivo
archivo = new File("ejemplo.txt")

//dejamos el archivo en blanco
archivo.write("Hola, mundo!");

El método write() escribe el texto en el archivo, pisando todo el contenido. Si el archivo no existía se crea, y si ya existía se abre.

También podemos usar el método append() para agregar contenido a un archivo. El siguiente código agregar 10 líneas de texto a un archivo:

archivo = new File("ejemplo-con-lineas.txt")
10.times( { archivo.append("linea $it\n") } )

Al terminar la ejecución, el archivo "ejemplo-con-lineas.txt" queda con el siguiente contenido:

linea 0
linea 1
linea 2
linea 3
linea 4
linea 5
linea 6
linea 7
linea 8
linea 9

Leer archivos

Para leer un archivo también podemos usar la misma clase File. Esta clase tiene varios métodos que permiten iterar todos los archivos (de un directorio), todos los directorios (de un directorio), o todas las filas (de un archivo). Estos métodos reciben como parámetro un closure.

Vamos a imprimir por consola todas las líneas del archivo que escribimos en el ejemplo anterior:

archivo = new File("ejemplo-con-lineas.txt")
archivo.eachLine( { println it })