API java.nio 2

Intermedio
Java
Java
Actualizado: 12/03/2025

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

El API java.nio (New I/O) es una mejora del sistema de entrada/salida (I/O) original de Java, que ofrece mayor flexibilidad para la lectura y escritura de datos de archivos y redes. En particular, el paquete java.nio.file (a veces referido como NIO.2), introducido en Java SE 7, proporciona un conjunto de características extensas y versátiles para manipular archivos y directorios.

¿Te está gustando esta lección?

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Las principales clases y interfaces de java.nio.file que se cubrirán en esta explicación son:

  • Path: representa la ubicación de un archivo o directorio en un sistema de archivos.
  • Paths: contiene métodos de utilidad para crear instancias de Path.
  • Files: proporciona métodos de utilidad para manipular archivos y directorios.
  • FileSystem y FileSystems: representan y proporcionan acceso a sistemas de archivos, respectivamente.
  • BasicFileAttributes: permite acceder a los atributos básicos de un archivo.

Path y Paths

La interfaz Path representa la ubicación de un archivo o directorio en un sistema de archivos. Se pueden construir objetos Path usando la clase de utilidad Paths. Por ejemplo:

Path path = Paths.get("/home/user/documentos");

Una Path también puede representar una ruta relativa. Por ejemplo:

Path pathRelativa = Paths.get("documentos/miArchivo.txt");

Un Path puede ser convertido a un File, y viceversa:

File file = path.toFile();
Path samePath = file.toPath();

Files

La clase Files proporciona una serie de métodos estáticos para realizar operaciones con archivos y directorios. Por ejemplo:

  • Leer todas las líneas de un archivo:
Path path = Paths.get("/home/user/documentos/miArchivo.txt");
List<String> lines = Files.readAllLines(path);
  • Copiar un archivo:
Path source = Paths.get("/home/user/documentos/miArchivo.txt");
Path target = Paths.get("/home/user/documentos/miArchivoCopia.txt");
Files.copy(source, target);
  • Eliminar un archivo:
Path path = Paths.get("/home/user/documentos/miArchivo.txt");
Files.delete(path);

FileSystem y FileSystems

La interfaz FileSystem representa un sistema de archivos. Puede ser uno proporcionado por la plataforma (por ejemplo, el sistema de archivos nativo), o uno proporcionado por un proveedor personalizado. Se puede obtener una instancia de un FileSystem utilizando la clase de utilidad FileSystems. Por ejemplo:

FileSystem fs = FileSystems.getDefault();

Con un FileSystem, puedes obtener información sobre el sistema de archivos y realizar operaciones con él. Por ejemplo, puedes obtener el separador de archivos utilizado por el sistema de archivos:

String separator = fs.getSeparator();

También puedes obtener un Path a partir de un FileSystem:

Path path = fs.getPath("/home/user/documentos");

BasicFileAttributes

La interfaz BasicFileAttributes proporciona acceso a los atributos básicos asociados a un archivo. Puedes obtener una instancia de BasicFileAttributes para un archivo determinado utilizando la clase Files. Por ejemplo:

Path path = Paths.get("/home/user/documentos/miArchivo.txt");
BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class);

System.out.println("Tamaño del archivo: " + attrs.size());
System.out.println("Fecha de creación: " + attrs.creationTime());
System.out.println("Es un directorio: " + attrs.isDirectory());

En resumen, el API java.nio.file proporciona una serie de clases y métodos de utilidad para trabajar con archivos y sistemas de archivos en Java de una manera más flexible y versátil. Esta es solo una introducción básica; hay muchos más métodos y características disponibles en este API.

Aprendizajes de esta lección

  1. Entender el propósito y uso de la interfaz Path y la clase Paths para representar y crear rutas de archivos y directorios.
  2. Comprender cómo se utiliza la clase Files para realizar operaciones en archivos y directorios, como lectura, copia y eliminación.
  3. Familiarizarse con las clases FileSystem y FileSystems para trabajar con y acceder a los sistemas de archivos.
  4. Aprender cómo utilizar BasicFileAttributes para acceder a los atributos de un archivo.
  5. Ganar habilidad en el manejo del API java.nio para manipulación de archivos y directorios de manera eficiente.

Completa Java y certifícate

Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración