¿Cómo encontrar cuánto espacio en disco queda usando Java?
Pregunta
¿Cómo encontrar cuánto espacio en disco queda usando Java?
Solución
Simplemente mire la clase de archivo documentación . Esta es una de las nuevas características en 1.6.
Estos nuevos métodos también incluyen:
public long getTotalSpace()
public long getFreeSpace()
public long getUsableSpace()
Si todavía usa 1.5, puede usar la Apache Commons IO y su clase FileSystem
Otros consejos
Java 1.7 tiene una API ligeramente diferente, el espacio libre se puede consultar a través de FileStore clase a través de getTotalSpace () , getUnallocatedSpace ( ) y getUsableSpace () métodos.
NumberFormat nf = NumberFormat.getNumberInstance();
for (Path root : FileSystems.getDefault().getRootDirectories()) {
System.out.print(root + ": ");
try {
FileStore store = Files.getFileStore(root);
System.out.println("available=" + nf.format(store.getUsableSpace())
+ ", total=" + nf.format(store.getTotalSpace()));
} catch (IOException e) {
System.out.println("error querying space: " + e.toString());
}
}
La ventaja de esta API es que obtiene excepciones significativas cuando falla la consulta del espacio en disco.
Use CommonsIO y FilesystemUtils:
p.
FileSystemUtils.freeSpaceKb("/");
o integrado en el JDK:
http: // java .sun.com / javase / 6 / docs / api / java / io / File.html # getFreeSpace ()
new File("/").getFreeSpace();
Si eres un programador de Java, puedes ya me han preguntado esto simple, pregunta estúpida: & # 8220; cómo encontrar el espacio libre en disco que queda en mi sistema? & # 8221 ;. El problema es que la respuesta es depende del sistema En realidad, es el implementación que es el sistema dependiente. Y hasta hace muy poco, no había una solución única para responder esta pregunta, aunque la necesidad tiene ha iniciado sesión en Sun & # 8217; s Bug Database desde junio de 1997. Ahora es posible obtener el espacio libre en disco en Java 6 con un método en el archivo de clase, que devuelve el número de no asignados bytes en la partición nombrada por el nombre del camino abstracto. Pero podrías ser interesado en el espacio en disco utilizable (el que se puede escribir). Es incluso posible obtener el espacio total en disco de una partición con el método getTotalSpace ().
al verificar el espacio en disco usando java, tiene el siguiente método en la clase de archivo java.io
- getTotalSpace ()
- getFreeSpace ()
que definitivamente lo ayudará a obtener la información requerida. Por ejemplo, puede consultar http: // javatutorialhq.com/java/example-source-code/io/file/check-disk-space-java/ que da un ejemplo concreto al usar estos métodos.
public class MemoryStatus{
public static void main(String args[])throws Exception{
Runtime r=Runtime.getRuntime();
System.out.println("Total Memory: "+r.totalMemory());
System.out.println("Free Memory: "+r.freeMemory());
}
}
Pruebe este código para obtener espacio en disco