Java 1.7 имеет немного другой API, свободное пространство можно запросить через класс FileStore через getTotalSpace () , getUnallocatedSpace () и 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());
}
}
Преимущество этого API состоит в том, что вы получаете значимые исключения обратно при сбое запроса дискового пространства.