Clase Java.io.File en Java

La clase de archivo Java es la representación de Java de un nombre de ruta de archivo o directorio. 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 Java File contiene varios métodos para trabajar con el nombre de ruta, eliminar y cambiar el nombre de 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 archivos y nombres de rutas de directorios.
  • Un nombre de ruta, ya sea abstracto o en forma de cadena, puede ser absoluto o relativo. El padre de una ruta abstracta se puede obtener invocando el método getParent() de esta clase.
  • En primer lugar, debemos crear el objeto de clase Archivo pasándole el nombre del archivo o del directorio. Un sistema de archivos puede implementar restricciones a ciertas operaciones en el objeto real del sistema de archivos, como lectura, escritura y ejecución. Estas restricciones se conocen colectivamente como permisos de acceso.
  • Las instancias de la clase Archivo son inmutables; es decir, una vez creado, la ruta abstracta representada por un objeto Archivo nunca cambiará.

¿Cómo crear un objeto de archivo?

Un objeto File se crea pasando una cadena que representa el nombre de un archivo, una cadena u otro objeto File. Por ejemplo,

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

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

Campos en clase de archivo en Java

Campo

Tipo

Descripción

caminoSeparador Cadena el carácter o cadena utilizada para separar rutas individuales en una lista de rutas del sistema de archivos.
rutaSeparadorCar Carbonizarse el carácter utilizado para separar rutas individuales en una lista de rutas del sistema de archivos.
separador Cadena carácter separador de nombre predeterminado representado como una cadena.
separadorChar Carbonizarse carácter separador de nombre predeterminado.

Constructores de clases de archivos Java

    Archivo (Archivo principal, Cadena secundaria): 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 al convertir 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 una ruta de acceso abstracta.

Métodos de clase de archivo en Java

S. No. Método Descripción Tipo de devolución
1. puede ejecutar() Prueba si la aplicación puede ejecutar el archivo indicado por este nombre de ruta abstracto. booleano
2. puedo leer() Prueba si la aplicación puede leer el archivo indicado por este nombre de ruta abstracto. booleano
3. puede escribir() Prueba si la aplicación puede modificar el archivo indicado por este nombre de ruta abstracto. booleano
4. comparar con (nombre de ruta del archivo) Compara lexicográficamente dos nombres de rutas abstractas. En t
5. crearNuevoArchivo() Crea atómicamente un archivo nuevo y vacío nombrado con esta ruta abstracta. booleano
6. createTempFile(Prefijo de cadena, Sufijo de cadena) Crea un archivo vacío en el directorio de archivos temporales predeterminado. Archivo
7. borrar() Elimina el archivo o directorio indicado por este nombre de ruta abstracto. booleano
8. es igual(Objeto obj) Prueba la igualdad de este nombre de ruta abstracto con el objeto dado. booleano
9. existe() Comprueba si existe el archivo o directorio indicado por esta ruta de acceso abstracta. booleano
10. obtenerRutaAbsoluta() Devuelve la cadena de nombre de ruta absoluta de este nombre de ruta abstracto. Cadena
11. lista() Devuelve una matriz de cadenas que nombran los archivos y directorios del directorio. Cadena[]
12. obtener espacio libre() Devuelve el número de bytes no asignados en la partición. largo
13. obtenerNombre() Devuelve el nombre del archivo o directorio indicado por esta ruta de acceso abstracta. Cadena
14. obtenerpadre() Devuelve la cadena de nombre de ruta del padre de este nombre de ruta abstracto. Cadena
15. obtener archivo padre() Devuelve el nombre de ruta abstracto del padre de este nombre de ruta abstracto. Archivo
16. obtenerRuta() Convierte este nombre de ruta abstracto en una cadena de nombre de ruta. Cadena
17. establecerSoloLectura() Marca el archivo o directorio nombrado para que solo se permitan operaciones de lectura. booleano
18. esDirectorio() Comprueba si el archivo indicado por este nombre de ruta es un directorio. booleano
19. esArchivo() Comprueba si el archivo indicado por esta ruta abstracta es un archivo normal. booleano
20. Está oculto() Comprueba si el archivo nombrado por esta ruta abstracta es un archivo oculto. booleano
21. longitud() Devuelve la longitud del archivo indicado por este nombre de ruta abstracto. largo
22. lista de archivos() Devuelve una serie de nombres de rutas abstractos que indican los archivos del directorio. Archivo[]
23. mkdir() Crea el directorio nombrado por esta ruta abstracta. booleano
24. cambiar nombre a (destino del archivo) Cambia el nombre del archivo indicado por esta ruta de acceso abstracta. booleano
25. setExecutable(ejecutable booleano) Un método conveniente para establecer el permiso de ejecución del propietario. booleano
26. setReadable (legible booleano) Un método conveniente para configurar el permiso de lectura del propietario. booleano
27. setReadable(legible booleano, solo propietario booleano) Establece el permiso de lectura del propietario o de todos. booleano
28. setWritable (escribible booleano) Un método conveniente para configurar el permiso de escritura del propietario. booleano
29. Encadenar() Devuelve la cadena de nombre de ruta de este nombre de ruta abstracto. Cadena
30. aURI() Construye un URI de archivo que representa este nombre de ruta abstracto. TIPO

Ejemplos de clases de archivos Java

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

Java




// In this Java program, we accepts a file or directory name> // from command line arguments. Then the program will check> // if that file or directory physically exist or not and it> // displays the property of that file or directory.> import> java.io.File;> // Displaying file property> class> fileProperty {> > public> static> void> main(String[] args)> > {> > // accept file name or directory name through> > // command line args> > String fname = args[> 0> ];> > // pass the filename or directory name to File> > // object> > File f => new> File(fname);> > // apply File class methods on File object> > 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 writable:'> > + 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 writable:true Is readabletrue Is a directory:false File Size in bytes 20 

Ejemplo 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 utilizar 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. llegar[] . Luego pase estos elementos de la matriz arr[i] al objeto Archivo y pruébelos para saber si representan un archivo o directorio.

Java




// Java Program to display all> // the contents of a directory> import> java.io.BufferedReader;> import> java.io.File;> import> java.io.IOException;> import> java.io.InputStreamReader;> // Displaying the contents of a directory> class> Contents {> > public> static> void> main(String[] args)> > throws> IOException> > {> > // enter the path and dirname from keyboard> > 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();> > // create File object with dirpath and dname> > File f => new> File(dirpath, dname);> > // if directory exists,then> > if> (f.exists()) {> > // get the contents into arr[]> > // now arr[i] represent either a File or> > // Directory> > String arr[] = f.list();> > // find no. of entries in the directory> > int> n = arr.length;> > // displaying the entries> > for> (> int> i => 0> ; i System.out.println(arr[i]); // create File object with the entry and // test if it is a file or directory 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