Archivo del método getCanonicalFile() en Java con ejemplos

El método getCanonicalFile() es parte de la clase File . Esta función devuelve el archivo canónico del objeto de archivo dado. Si la ruta del archivo del objeto de archivo es canónica, simplemente devuelve el archivo del objeto de archivo actual.
El archivo canónico siempre es absoluto y único, la función elimina el ‘.’ ‘..’ de la ruta del Archivo, si está presente.

Por ejemplo: si creamos un objeto de archivo usando la ruta como «programa.txt», apunta al archivo presente en el mismo directorio donde se guarda el programa ejecutable (si está usando un IDE apuntará al archivo donde haber guardado el programa). Aquí, la ruta del archivo mencionado anteriormente es «program.txt», pero esta ruta no es absoluta (es decir, no completa). La función getCanonicalFile() devolverá un archivo cuya ruta será absoluta y única desde los directorios raíz. La forma canónica de un archivo existente puede ser diferente de la forma canónica de un mismo archivo inexistente y la forma canónica de un archivo existente puede ser diferente de la forma canónica del mismo archivo cuando se elimina.
Firma de función:

public File getCanonicalFile()

Sintaxis de la función:

file.getCanonicalFile()

Parámetros: Esta función no acepta ningún parámetro.

Valor de retorno: esta función devuelve el objeto Archivo, el archivo canónico del objeto Archivo dado.

Excepción Este método arroja las siguientes excepciones

  • Excepción de seguridad: si no se puede acceder al valor de propiedad requerido.
  • Excepción de E/S: si se produce una excepción de E/S.

El siguiente programa ilustrará el uso del método getCanonicalFile():

Ejemplo 1: Aquí “program.txt” es un archivo presente en el directorio de trabajo actual

// Java program to demonstrate the
// use of getCanonicalFile() function
  
import java.io.*;
  
public class solution {
    public static void main(String args[])
    {
  
        // try-catch block to handle exceptions
        try {
  
            // Create a file object
            File f = new File("program.txt");
  
            // Get the Canonical file
            // of the given file f
            File canonical = f.getCanonicalFile();
  
            // Display the file path of the file object
            // and also the file path of Canonical file
            System.out.println("Original file path: "
                               + f.getPath());
            System.out.println("Canonical file path: "
                               + canonical.getPath());
        }
        catch (Exception e) {
            System.err.println(e.getMessage());
        }
    }
}

Producción:

Original file path: program.txt
Canonical file path: C:\Users\pc\eclipse-workspace1\arnab\program.txt

Ejemplo 2: nos dan un objeto de archivo, tenemos que crear el archivo canónico a partir de ese objeto de archivo.

// Java program to demonstrate the
// use of getCanonicalFile() function
  
import java.io.*;
  
public class solution {
    public static void main(String args[])
    {
  
        // try-catch block to handle exceptions
        try {
  
            // Create a file object
            File f
                = new File("c:\\users\\..\\program");
  
            // Get the Canonical file
            // of the given file f
            File canonical = f.getCanonicalFile();
  
            // Display the file path of the file object
            // and also the file path of Canonical file
            System.out.println("Original file path: "
                               + f.getPath());
            System.out.println("Canonical file path: "
                               + canonical.getPath());
        }
        catch (Exception e) {
            System.err.println(e.getMessage());
        }
    }
}

Producción:

Original file path: c:\users\..\program
Canonical file path: C:\program

Es posible que los programas no se ejecuten en un IDE en línea. utilice un IDE sin conexión y configure la ruta del archivo

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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