CodeGym/Blog Java/Random-ES/Clase de archivo Java.io.
John Squirrels
Nivel 41
San Francisco

Clase de archivo Java.io.

Publicado en el grupo Random-ES
En muchos casos, el programa necesita acceder a determinados archivos en su funcionamiento. Por ejemplo, los datos del usuario se pueden registrar en algún archivo externo y, para poder leerlos, el programa debe poder trabajar con ellos: abrirlos, leerlos, posiblemente editarlos y cerrarlos. Para estos fines, el lenguaje de programación Java cuenta con la clase Java.io.File . En este artículo, consideraremos qué tipo de clase es y daremos un ejemplo de cómo trabajar con ella.

¿Qué es la clase de archivo Java?

La clase File está definida en el paquete java.io y no funciona directamente con transmisiones. La clase Java File sirve para gestionar información sobre archivos y directorios. Como sabes, a nivel del sistema operativo, los archivos y directorios son objetos diferentes. Sin embargo, en Java, ambos se describen mediante la misma clase de Archivo . Quizás se pregunte por qué no utilizar cadenas para hacer referencia a archivos. En primer lugar, porque el acceso a los archivos es diferente en los distintos sistemas operativos.

Constructores de clases de archivos

Dependiendo de si el objeto Java.io.File Class debe representar un archivo o un directorio, podemos usar uno de los constructores para crear el objeto: File(String pathname) en este caso, el constructor crea una nueva instancia de File convirtiendo el nombre de ruta dado. cadena en una ruta de acceso abstracta. File(String myPath, String myString) este constructor crea una nueva instancia de archivo a partir de una cadena de nombre de ruta myPath y una cadena de nombre de ruta myString. Archivo (archivo principal, nombre de cadena) crea una nueva instancia de archivo a partir de un nombre de ruta abstracto de archivo y una cadena de nombre de ruta. Archivo (URI uri) en este caso, el constructor crea una nueva instancia de Archivo convirtiendo el archivo dado: URI en una ruta de acceso abstracta. URI es una clase Java que representa una referencia de Identificador uniforme de recursos (URI). A continuación se muestra un ejemplo de diferentes constructores de clases Java.io.File :
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;

public class FileTest {
   public static void main(String[] args) throws URISyntaxException {
       File myFile1 = new File("d:\\MyCat");
       File myFile2 = new File ("d:\\MyCat", "cat.txt");
       File myFile3 = new File(myFile1, "cat.txt");
       URI uri = new URI ("https://docs.oracle.com/javase/7/docs/api/java/net/URI.html");
       File myFile4 = new File(uri);
   }
}

Métodos de clase de archivo

La clase Java File tiene varios métodos que le permiten manipular archivos y directorios. Consideremos algunos de ellos:
  • boolean createNewFile() crea un nuevo archivo en la ruta pasada al constructor. Devuelve verdadero si tiene éxito; en caso contrario, falso

  • boolean delete() elimina un directorio o archivo en la ruta pasada al constructor. Devuelve verdadero si se elimina correctamente

  • boolean existe() comprueba si existe un archivo o directorio en la ruta especificada en el constructor. Si el archivo o directorio existe, devuelve verdadero; en caso contrario, devuelve falso

  • String getAbsolutePath() devuelve la ruta absoluta para la ruta pasada al constructor del objeto

  • String getName() devuelve el nombre corto de un archivo o directorio

  • String getParent() devuelve el nombre del directorio principal

  • boolean isDirectory() devuelve verdadero si la ruta dada contiene un directorio

  • boolean isFile() devuelve verdadero si hay un archivo en la ruta indicada

  • boolean isHidden() devuelve verdadero si el directorio o archivo está oculto

  • long length() devuelve el tamaño del archivo en bytes

  • long lastModified() devuelve la hora en la que se modificó por última vez un archivo o directorio. El valor representa el número de milisegundos que han pasado desde la época Unix.

  • String[] list() devuelve una matriz de archivos y subdirectorios que se encuentran en un directorio específico

  • File[] listFiles() devuelve una matriz de archivos y subdirectorios que se encuentran en un directorio específico

  • boolean mkdir() crea un nuevo directorio y devuelve verdadero si tiene éxito

  • boolean renameTo(Destino del archivo) cambia el nombre de un archivo o directorio

Algunas características de la clase de archivo Java

  • La ruta, abstracta o de cadena, puede ser absoluta o relativa. El padre de una ruta abstracta se puede recuperar llamando al método getParent() de esa clase.

  • Primero debemos crear un objeto de la clase Archivo , pasándole el nombre de un archivo o directorio. El sistema de archivos puede imponer restricciones a ciertas operaciones en el objeto del sistema de archivos real, como lectura, escritura y ejecución. Estas restricciones se denominan permisos de acceso.

  • Las instancias de la clase File son inmutables. Eso significa que una vez que crea un archivo, la ruta abstracta representada por el objeto Archivo nunca cambiará.

Ejemplos de código de clase de archivo

Creemos un programa que funcione con directorios. En primer lugar, debe crear un directorio en la ruta indicada y luego crear un nuevo archivo y verificar si el archivo y el directorio existen.
import java.io.File;
import java.io.IOException;

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

       //create a directory using mkdir() File class method
       File dir = new File("d:\\MyDir");
       boolean created = dir.mkdir();
       if(created)
           System.out.println("Folder has been created...");
       else
           System.out.println("Folder hasn't been created...");
       File myFile = new File("d:\\MyDir\\cat.txt");
       myFile.createNewFile();
       System.out.println("File name: " + myFile.getName());
       System.out.println("Parent folder: " + myFile.getParent());
       if(myFile.exists())
           System.out.println("File exists");
       else
           System.out.println("File not found");
      }
}
Aquí está el resultado:
Se ha creado la carpeta... Nombre del archivo: cat.txt Carpeta principal: d:\MyDir El archivo existe
Por cierto, si hizo todo bien, puede encontrar un nuevo directorio y archivo en su computadora. Ahora escribamos un programa donde podamos trabajar con el directorio creado y el archivo. Aquí utilizamos algunos de los métodos que se describen anteriormente.
import java.io.File;

public class FileTest3 {

   public static void main(String[] args) {

       File dir = new File("d:\\MyDir");
       File myFile = new File("d:\\MyDir\\cat.txt");
       System.out.println("File name: " + myFile.getName());
       System.out.println("Parent folder: " + myFile.getParent());
       if (myFile.exists())
           System.out.println("File exists");
       else
           System.out.println("File not found");

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

       if (myFile.exists()) {
           System.out.println("Is writable: " + myFile.canWrite());
           System.out.println("Is readable: " + myFile.canRead());
           System.out.println("Is a directory: " + myFile.isDirectory());
           System.out.println("myFile Size in bytes = " + myFile.length());

       }
   }
}
La salida del programa es:
Nombre de archivo: cat.txt Carpeta principal: d:\MyDir El archivo existe Ruta absoluta: d:\MyDir\cat.txt Se puede escribir: verdadero Es legible: verdadero Es un directorio: falso Tamaño de myFile en bytes = 0
Comentarios
  • Populares
  • Nuevas
  • Antiguas
Debes iniciar sesión para dejar un comentario
Esta página aún no tiene comentarios