Solución:
Eche un vistazo a la documentación de la clase File. Esta es una de las nuevas funciones de 1.6.
Estos nuevos métodos también incluyen:
public long getTotalSpace()
public long getFreeSpace()
public long getUsableSpace()
Si todavía está usando 1.5, puede usar la biblioteca IO de Apache Commons y su clase FileSystem
Java 1.7 tiene una API ligeramente diferente, el espacio libre se puede consultar a través de la clase FileStore a través de los métodos getTotalSpace (), getUnallocatedSpace () y getUsableSpace ().
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 de espacio en disco.
Utilice CommonsIO y FilesystemUtils:
https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/FileSystemUtils.html#freeSpaceKb ()
p.ej
FileSystemUtils.freeSpaceKb("https://foroayuda.es/");
o integrado en el JDK:
http://java.sun.com/javase/6/docs/api/java/io/File.html#getFreeSpace ()
new File("https://foroayuda.es/").getFreeSpace();