Ruta de archivo Java, ruta absoluta y ruta canónica

Hoy veremos la ruta de archivo de Java. La ruta de archivo de Java puede ser abstracta, absoluta o canónica.

Ruta del archivo Java

java.io.Filecontiene tres métodos para determinar la ruta del archivo, los exploraremos en este tutorial.

  1. getPath(): Este método de ruta de archivo devuelve la ruta abstracta como cadena. Si se utiliza la ruta de cadena para crear un objeto de archivo, simplemente devuelve el argumento de la ruta. Si se utiliza URI como argumento, elimina el protocolo y devuelve el nombre del archivo.
  2. getAbsolutePath(): Este método de ruta de archivo devuelve la ruta absoluta del archivo. Si se crea un archivo con una ruta absoluta, simplemente devuelve la ruta. Si el objeto de archivo se crea utilizando una ruta relativa, la ruta absoluta se resuelve de una manera que depende del sistema. En los sistemas UNIX, una ruta relativa se convierte en absoluta al resolverla con respecto al directorio de usuario actual. En los sistemas Microsoft Windows, una ruta relativa se convierte en absoluta al resolverla con respecto al directorio actual de la unidad nombrada por la ruta, si la hay; si no, se resuelve con respecto al directorio de usuario actual.
  3. [getCanonicalPath](https://docs.oracle.com/javase/7/docs/api/java/io/File.html#getCanonicalPath())(): Este método de ruta devuelve la ruta canónica que es absoluta y única. Este método primero convierte esta ruta a la forma absoluta si es necesario, como si se invocara el método getAbsolutePath, y luego la asigna a su forma única de una manera que depende del sistema. Esto generalmente implica eliminar nombres redundantes como “.” y “…” de la ruta, resolver vínculos simbólicos (en plataformas UNIX) y convertir letras de unidad a un caso estándar (en plataformas Microsoft Windows).

Ejemplo de ruta de archivo Java

Veamos diferentes casos de la ruta de archivo en java con un programa sencillo.

package com.journaldev.files;import java.io.File;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;public class JavaFilePath {public static void main(String[] args) throws IOException, URISyntaxException {File file = new File("/Users/pankaj/test.txt");printPaths(file);// relative pathfile = new File("test.xsd");printPaths(file);// complex relative pathsfile = new File("/Users/pankaj/../pankaj/test.txt");printPaths(file);// URI pathsfile = new File(new URI("file:///Users/pankaj/test.txt"));printPaths(file);}private static void printPaths(File file) throws IOException {System.out.println("Absolute Path: " + file.getAbsolutePath());System.out.println("Canonical Path: " + file.getCanonicalPath());System.out.println("Path: " + file.getPath());}}

La siguiente imagen muestra el resultado generado por el programa de ruta de archivo de Java anterior. El resultado se explica por sí solo. Según el resultado, el uso de la ruta canónica es la mejor opción para evitar problemas debido a las rutas relativas. Además, tenga en cuenta que los métodos de ruta de archivo de Java no verifican si el archivo existe o no. Solo funcionan con la ruta del archivo utilizada al crear el objeto Archivo. Eso es todo para los diferentes tipos de ruta de archivo en Java.

Puede consultar más ejemplos de E/S de Java en nuestro repositorio de GitHub .

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio