in

Clase Java.io.File en Java – GeeksforGeeks

gfg 200x200 min

La clase File es la representación de Java de un nombre de ruta de directorio o archivo. Debido a que los nombres de archivos y directorios tienen diferentes formatos en diferentes plataformas, una simple cadena no es adecuada para nombrarlos. La clase File contiene varios métodos para trabajar con el nombre de la ruta, eliminar y renombrar archivos, crear nuevos directorios, enumerar el contenido de un directorio y determinar varios atributos comunes de archivos y directorios.

  • Es una representación abstracta de nombres de rutas de archivos y directorios.
  • Un nombre de ruta, ya sea abstracto o en forma de cadena, puede ser absoluto o relativo. El padre de un nombre de ruta abstracto se puede obtener invocando el método getParent () de esta clase.
  • En primer lugar, deberíamos crear el objeto de clase Archivo pasándole el nombre del archivo o el nombre del directorio. Un sistema de archivos puede implementar restricciones a ciertas operaciones en el objeto del sistema de archivos real, como leer, escribir y ejecutar. Estas restricciones se conocen colectivamente como permisos de acceso.
  • Las instancias de la clase File son inmutables; es decir, una vez creado, el nombre de ruta abstracto representado por un objeto File nunca cambiará.

¿Cómo crear un objeto de archivo?
Un objeto Archivo se crea pasando una Cadena que representa el nombre de un archivo, una Cadena u otro objeto Archivo. Por ejemplo,

 File a = new File("/usr/local/bin/geeks");

define un nombre de archivo abstracto para el archivo geeks en el directorio / usr / local / bin. Este es un nombre de archivo de resumen absoluto.

Constructores

  • Archivo (padre de archivo, hijo de cadena): Crea una nueva instancia de Archivo a partir de un nombre de ruta abstracto principal y una cadena de nombre de ruta secundaria.
  • Archivo (nombre de ruta de cadena): Crea una nueva instancia de Archivo convirtiendo la cadena de nombre de ruta dada en un nombre de ruta abstracto.
  • Archivo (cadena principal, cadena secundaria): Crea una nueva instancia de archivo a partir de una cadena de nombre de ruta principal y una cadena de nombre de ruta secundaria.
  • Archivo (URI uri): Crea una nueva instancia de Archivo convirtiendo el archivo dado: URI en un nombre de ruta abstracto.

Métodos

  1. booleano canExecute (): Comprueba si la aplicación puede ejecutar el archivo indicado por este nombre de ruta abstracto.
  2. booleano canRead () : Comprueba si la aplicación puede leer el archivo indicado por este nombre de ruta abstracto.
  3. booleano canWrite (): Comprueba si la aplicación puede modificar el archivo indicado por este nombre de ruta abstracto.
  4. int compareTo (nombre de la ruta del archivo): Compara dos nombres de ruta abstractos lexicográficamente.
  5. booleano createNewFile (): Crea de forma atómica un archivo nuevo y vacío con el nombre de este nombre de ruta abstracto.
  6. Archivo estático createTempFile (prefijo de cadena, sufijo de cadena): Crea un archivo vacío en el directorio de archivos temporales predeterminado.
  7. eliminar booleano (): Elimina el archivo o directorio indicado por este nombre de ruta abstracto.
  8. booleano es igual a (Objeto obj): Prueba la igualdad de este nombre de ruta abstracto con el objeto dado.
  9. booleano existe () : Comprueba si existe el archivo o directorio indicado por este nombre de ruta abstracto.
  10. String getAbsolutePath (): Devuelve la cadena de nombre de ruta absoluta de este nombre de ruta abstracto.
  11. long getFreeSpace (): Devuelve el número de bytes no asignados en la partición.
  12. String getName (): Devuelve el nombre del archivo o directorio indicado por este nombre de ruta abstracto.
  13. String getParent (): Devuelve la cadena de nombre de ruta del padre de este nombre de ruta abstracto.
  14. Archivo getParentFile (): Devuelve el nombre de ruta abstracto del padre de este nombre de ruta abstracto.
  15. Cadena getPath (): Convierte este nombre de ruta abstracto en una cadena de nombre de ruta.
  16. booleano isDirectory (): Comprueba si el archivo indicado por este nombre de ruta es un directorio.
  17. booleano isFile (): Comprueba si el archivo indicado por este nombre de ruta abstracto es un archivo normal.
  18. booleano isHidden (): Comprueba si el archivo nombrado por este nombre de ruta abstracto es un archivo oculto.
  19. distancia larga() : Devuelve la longitud del archivo indicado por este nombre de ruta abstracto.
  20. Cuerda[] lista() : Devuelve una matriz de cadenas que nombran los archivos y directorios en el directorio.
  21. Expediente[] listFiles (): Devuelve una matriz de rutas abstractas que indican los archivos del directorio.
  22. mkdir booleano (): Crea el directorio nombrado por este nombre de ruta abstracto.
  23. boolean renameTo (Destino del archivo): Cambia el nombre del archivo indicado por este nombre de ruta abstracto.
  24. boolean setExecutable (ejecutable booleano): Un método conveniente para establecer el permiso de ejecución del propietario.
  25. boolean setReadable (boolean legible): Un método conveniente para establecer el permiso de lectura del propietario.
  26. boolean setReadable (boolean legible, boolean ownerOnly): Establece el permiso de lectura del propietario o de todos.
  27. boolean setReadOnly (): Marca el archivo o directorio nombrado para que solo se permitan operaciones de lectura.
  28. boolean setWritable (booleano escribible) : Un método conveniente para establecer el permiso de escritura del propietario.
  29. Cadena toString (): Devuelve la cadena de nombre de ruta de este nombre de ruta abstracto.
  30. URI toURI (): Construye un URI de archivo que representa este nombre de ruta abstracto.

Implementación

Programa 1: Programa para comprobar si un archivo o directorio existe físicamente o no.

import java.io.File;

 

class fileProperty

{

    public static void main(String[] args) {

        

        String fname = args[0];

 

        

        File f = new File(fname);

 

        

        System.out.println("File name :"+f.getName());

        System.out.println("Path: "+f.getPath());

        System.out.println("Absolute path:" +f.getAbsolutePath());

        System.out.println("Parent:"+f.getParent());

        System.out.println("Exists :"+f.exists());

        if(f.exists())

        {

            System.out.println("Is writeable:"+f.canWrite());

            System.out.println("Is readable"+f.canRead());

            System.out.println("Is a directory:"+f.isDirectory());

            System.out.println("File Size in bytes "+f.length());

        }

    }

}

Producción:

File name :file.txt
Path: file.txt
Absolute path:C:UsersakkiIdeaProjectscodewritingsrcfile.txt
Parent:null
Exists :true
Is writeable:true
Is readabletrue
Is a directory:false
File Size in bytes 20

Programa 2: Programa para mostrar todo el contenido de un directorio

Aquí aceptaremos un nombre de directorio desde el teclado y luego mostraremos todo el contenido del directorio. Para este propósito, el método list () se puede usar como:

String arr[]=f.list();

En la declaración anterior, el método list () hace que todas las entradas del directorio se copien en la matriz arr[]. Luego pase estos elementos de matriz arr[i] al objeto Archivo y pruébelos para saber si representan un archivo o directorio.

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.InputStreamReader;

 

class Contents

{

    public static void main(String[] args) throws IOException {

        

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

 

        System.out.println("Enter dirpath:");

        String dirpath=br.readLine();

        System.out.println("Enter the dirname");

        String dname=br.readLine();

 

        

        File f = new File(dirpath, dname);

 

        

        if(f.exists())

        {

            

            

            String arr[]=f.list();

 

            

            int n=arr.length;

 

            

            for (int i = 0; i < n ; i++) {

                System.out.println(arr[i]);

                

                

                File f1=new File(arr[i]);

                if(f1.isFile())

                    System.out.println(": is a file");

                if(f1.isDirectory())

                    System.out.println(": is a directory");

            }

            System.out.println("No of entries in this directory "+n);

        }

        else

            System.out.println("Directory not found");

    }

}

Producción:

Enter dirpath:
C:UsersakkiIdeaProjects
Enter the dirname
codewriting
.idea
: is a directory
an1.txt
: is a file
codewriting.iml
: is a file
file.txt
: is a file
out
: is a directory
src
: is a directory
text
: is a file
No of entries in this directory 7

Publicación relacionada : FileReader y FileWriter en Java

Este artículo es una contribución de Nishant Sharma. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando contrib.geeksforgeeks.org o envíe su artículo por correo electrónico a [email protected] Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema discutido anteriormente.

¡Atención lector! No dejes de aprender ahora. Hazte con todo lo importante Fundación Java y conceptos de colecciones con el Curso de Fundamentos de Java y Colecciones de Java a un precio asequible para los estudiantes y prepárese para la industria. Para completar su preparación desde el aprendizaje de un idioma hasta DS Algo y muchos más, consulte Curso completo de preparación para entrevistas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

apple touch icon@2

c ++ – ¿Qué hace int argc, char * argv[] ¿significar?

Eric Clapton vs Mark Knopfler – Diferencia y comparación