Este paquete, nos proporciona las clases necesarias para acceder a ficheros y solo está disponible desde Java 1.7.

No debemos confundir este paquete con java.io que se encarga de la entrada y salida en cualquier dispositivo, y entre ellos en ficheros. Este paquete se especializa únicamente en ficheros, y dispone de métodos más adecuados a su tratamiento.

Así mismo, la clase java.nio.file.Files dispone de métodos más adecuados para el tratamiento de ficheros en disco que su homónima java.io.File.

Clases del paquete

Clase Descripción
Files Métodos estáticos para operar con fichero y directorios
FileStore Zona de almacenamiento de ficheros (puntos de montajes o unidades de disco)
FileSystem Proporciona la interface para acceder al sistema de ficheros y proporciona acceso a métodos para procesar directorios, rutas y ficheros
FileSystems Implementa los métodos para acceder al sistema de ficheros
LinkPermission Para crear enlaces “hard” y “symbolic”
Paths Métodos estáticos para obtener un path (ruta) desde varias string, o desde una URI.
SimpleFileVisitor<T> Clase con los comportamientos básicos al visitar ficheros y directorios, y que nos permite añadir los comportamientos que deseemos.

Ver: Files.walkFileTree()

StandardWatchEventKinds Define los tipos de eventos estándar

Algunos métodos de Files

La clase Files, aporta métodos para más cosas aparte de la lectura de ficheros.

Utilizando otra de las clases del paquete, podemos definir permisos, solo útil en entornos Linux

Control de permisos en entorno linux

Para crear un directorio, solo definimos un path, y lo creamos

Crear directorio con java.nio

Para crear un directorio temporal, hacemos

Java. Crear un directorio temporal

Para crear un fichero

Java. Crear un fichero temporal

Para copiar un fichero

Java. Copiar fichero con Java.nio

Para mover un fichero

Java.Mover fichero con java.nio

 

Leer fichero con Files

 

La utilización de este paquete, nos aporta mucha más claridad a la hora de programar, en este ejemplo, veremos cómo realizar un lectura de fichero, semejante a la que os mostramos en la clase LeerConBuffered, pero utilizando este paquete

Empezamos creando el path o ruta a donde se encuentra el fichero con

Path para leer fichero con Java.nio

Estamos indicando en donde se encuentra el fichero, aunque no se realizara comprobación acerca de su existencia

Podíamos haber utilizado también

Path con java.nio

Y conseguiríamos el mismo resultado

Antes de abrirlo, podemos comprobar si existe

Java. Utilizacion de Files.exists

Utilizamos el método estático de Files, que recibe el path creado anteriormente, y en el segundo parámetro un array en donde podemos indicarle si queremos que siga los enlaces hard, simbólicos, o ninguno

 

Ahora, para crear el stream de entrada, utilizaremos otro método de Files

Crear stream para leer

Este método, nos permite especificar la codificación del fichero como constantes de la clase StandarCharsets; mucho más cómodo….

Teniendo ya el Stream, deberíais saber escribir el resto de la clase. Solo tiene que leer todas las líneas del fichero y volcarlas a la consola.

Algo como esto:

Leer un fichero utilizando java.nioLa respuesta, prácticamente estaba toda resuelta; la única novedad, reside en la línea 30, que para saber el nombre del fichero que se ha intentado abrir, utilizamos un método de path que nos da su nombre

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.