Encuentre espacio libre en disco usando Java

Hay algunas llamadas a métodos en Java que se pueden utilizar para obtener información relacionada con el espacio sobre una unidad de disco. Estos métodos utilizados para obtener dicha información se declaran en la clase de archivo, que reside en el paquete java.io. Los detalles de estas llamadas a métodos junto con su uso se dan a continuación:
Nota: Estos códigos no se ejecutarán en ide en línea. Además, todos funcionarán en Java 1.6 y versiones superiores.

  1. Java.io.File.getFreeSpace() : Obtenga el espacio libre total disponible en una unidad
    Sintaxis:
    public long getFreeSpace()
    Returns the size of the partition named by this abstract pathname.
    Returns:
    The size, in bytes, of the partition or 0L if this 
    abstract pathname does not name a partition
    Throws:
    SecurityException - If a security manager has been installed and it 
    denies RuntimePermission("getFileSystemAttributes") or its 
    SecurityManager.checkRead(String) method denies read access to the file 
    named by this abstract pathname

    // Java program to get the amount of free space available on any drive
    import java.io.*;
      
    public class Test
    {
        public static void main(String[] args)
        {
            File file = new File("E:\\");
              
            double size = file.getFreeSpace() / (1024.0 * 1024 * 1024);
            System.out.printf( "%.3f GB\n", size);    
        }
    }

    Producción:

    18.242 GB
  2. Java.io.File.getUsableSpace() : espacio utilizable total disponible con una unidad. Devuelve la cantidad de bytes disponibles para esta máquina virtual en la partición nombrada por este nombre de ruta abstracto. Cuando sea posible, este método verifica los permisos de escritura y otras restricciones del sistema operativo y, por lo tanto, generalmente proporcionará una estimación más precisa de la cantidad de datos nuevos que realmente se pueden escribir que getFreeSpace().
    El número devuelto de bytes disponibles es una sugerencia, pero no una garantía, de que es posible usar la mayoría o cualquiera de estos bytes. Es muy probable que el número de bytes no asignados sea exacto inmediatamente después de esta llamada. Es probable que se vuelva inexacto por cualquier operación de E/S externa, incluidas las realizadas en el sistema fuera de esta máquina virtual. Este método no garantiza que las operaciones de escritura en este sistema de archivos se realicen correctamente.
    Sintaxis:
    public long getUsableSpace()
    Returns:
    The number of available bytes on the partition or 0L if the 
    abstract pathname does not name a partition. On systems where
    this information is not available, this method will be
    equivalent to a call to getFreeSpace().
    Throws:
    SecurityException - If a security manager has been installed and it 
    denies RuntimePermission("getFileSystemAttributes") or its
    SecurityManager.checkRead(String) method denies read access to the 
    file named by this abstract pathname

    import java.io.*;
      
    public class Test
    {
        public static void main(String[] args)
        {
            double size = 
                  new File("C:\\").getUsableSpace() / (1024.0 * 1024 * 1024);
            System.out.printf( "%.3f GB\n", size);    
        }
    }

    Producción:

    62.857 GB
  3. Java.io.File.getTotalSpace() : Capacidad total de una unidad. El método devuelve el tamaño de la partición nombrada por este nombre de ruta abstracto.

    Sintaxis:

    public long getTotalSpace()
    Returns: Returns:
    The size, in bytes, of the partition or 0L if this abstract pathname 
    does not name a partition
    Throws:
    SecurityException - If a security manager has been installed and it
    denies RuntimePermission("getFileSystemAttributes") or its 
    SecurityManager.checkRead(String) method denies read access to 
    the file named by this abstract pathname

    import java.io.*;
      
    public class Test
    {
        public static void main(String[] args)
        {
            double size = 
                  new File("C:\\").getUsableSpace() / (1024.0 * 1024 * 1024);
            System.out.printf( "%.3f GB\n", size);    
        }
    }

    Producción:

    62.857 GB

Referencia utilizada: Oracle

Este artículo es una contribución de Mayank Kumar . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. 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 tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *