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
para que tambien muestre el tamaño usado?
ResponderEliminarLong usadoL=(f.getTotalSpace()-f.getFreeSpace()); // para resolver porque el metodo no existe en el API no hay un getUsedSpace y luego hacerlo visualizar..
Eliminarvas a tener que hacer la cuenta
ResponderEliminarFile [] 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());
}