Además de la manipulación de los archivos y directorios es necesario la lectura y la escritura del contenido de éstos. A continuación se revisaran una serie de clases que tiene Java para esto.
1- Lectura de Archivos

1.1- Leer Archivos Pequeños
La clase java.nio.file.Files posee las siguientes funciones static para la lectura de archivos con poco contenido:
readAllBytes
: Lee todos los bytes que posee el archivo.readAllLines
: Permite almacenar el conjunto de todas las lineas de texto que posee el archivo.
También es posible obtener un stream por medio de la función lines()
. Ya en el JDK 11 se puede utilizar una función readString()
.
Es posible utilizar la clase java.io.FileWriter para leer archivos. Sin embargo, se orientará en el uso de Java NIO.
1.2- Lectura de archivos grandes
Para archivos de mayor tamaño es posible utilizar un búfer que vaya leyendo por partes todo el contenido, por lo cual se utiliza un objeto de la clase java.nio.ByteBuffer. Para esto es necesario utilizar una instancia de las clase java.nio.channels.FileChannel y volcar el contenido leído dentro del búfer.
2- Escritura de Archivos
2.1- java.nio.file.Files
La clase Files posee una función static que permite escribir en un archivo: write()
. Dicha función tiene varias sobrecargas que permiten escribir un conjunto de bytes o lineas de texto.
A partir del JDK 11 se introduce un método llamado writeString()
el cual permite escribir un String en un archivo.
2.2- Otros métodos
Dentro del package java.io existen una variedad interesante de clases que pueden utilizarse para escribir en archivos, entre los cuales se tiene: FileWriter, BufferedWriter, PrintWriter, FileOutputStream, DataOutputStream
En Java NIO, es posible el uso de la clase FileChannel.
Bibliografía
[1] https://docs.oracle.com/javase/tutorial/essential/io/file.html
[2] https://howtodoinjava.com/java7/nio/3-ways-to-read-files-using-java-nio/
[3] https://howtodoinjava.com/java11/files-readstring-read-file-to-string/
[4] https://howtodoinjava.com/java/io/java-write-to-file/