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.
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
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 })