Mostrar las unidades de disco del sistema

Programa que muestre todas las unidades de disco del ordenador indicando para cada una de ellas el tamaño disponible y el tamaño total.
Solución: Utilizando la clase File de Java podemos obtener las unidades del sistema y además podemos obtener información sobre esas unidades como por ejemplo el espacio total de la unidad o el espacio disponible.
Para obtener las unidades de disco del sistema, la clase File proporciona el método estático listRoots()
public static File[] listRoots()
El método listRoots() devuelve un array de objetos de tipo File que representan el directorio raíz de cada una de las unidades de disco del sistema.
Además la clase File proporciona los métodos getTotalSpace y getFreeSpace que devuelven el espacio total de la unidad y el espacio libre respectivamente.
Utilizando estos tres métodos de File podemos resolver el ejercicio:
//Ejemplo de utilización de la clase File para obtener información sobre las unidades del sistema            
import java.io.File;
public class EjercicioFileUnidades {
    public static void main(String[] args) {
        File [] unidades = File.listRoots();
        System.out.printf("   %20s %20s %n" , "Tamaño Total", "Tamaño disponible");
        for(File f : unidades){
            System.out.print(f);
            System.out.printf("%20s %20s %n", f.getTotalSpace(), f.getFreeSpace());
        }
    }
}
La instrucción File [] unidades = File.listRoots(); obtiene el array de unidades
A continuación mediante una instrucción for se recorre el array y para cada elemento se obtiene su espacio total y su espacio disponible.
Si se ejecuta este programa en un sistema Windows obtendremos una salida similar a esta:
           Tamaño Total    Tamaño disponible                                                                 
C:\        488261021696         303251963904
D:\         10256117760           1201942528
E:\                   0                    0
G:\         31994183680           3702784000

3 comentarios:

  1. para que tambien muestre el tamaño usado?

    ResponderEliminar
    Respuestas
    1. Long usadoL=(f.getTotalSpace()-f.getFreeSpace()); // para resolver porque el metodo no existe en el API no hay un getUsedSpace y luego hacerlo visualizar..

      Eliminar
  2. vas a tener que hacer la cuenta

    File [] discos = File.listRoots();
    System.out.printf(" %20s %20s %20s %n", "Tamaño Total", "Tamaño Disponible", "Tamaño Utilizado");
    for (File file : discos) {
    System.out.print(file);
    System.out.printf("%20s %20s %20s %n", file.getTotalSpace(), file.getFreeSpace(), file.getTotalSpace() - file.getFreeSpace());
    }

    ResponderEliminar