Как узнать, сколько дискового пространства осталось с помощью Java?
Как узнать, сколько дискового пространства осталось с помощью Java?
Ответ 1
Ознакомьтесь с документацией о классе файлов. Это одна из новых функций в 1.6.
Эти новые методы также включают в себя:
public long getTotalSpace()
public long getFreeSpace()
public long getUsableSpace()
Если вы все еще используете 1.5, тогда вы можете использовать библиотеку Apache Commons IO и ее класс FileSystem.
Ответ 2
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 заключается в том, что вы получаете значимые исключения, когда запрос на дисковое пространство терпит неудачу.
Ответ 3
Используйте CommonsIO и FilesystemUtils:
например
FileSystemUtils.freeSpaceKb("/");
или встроенный в JDK:
http://java.sun.com/javase/6/docs/api/java/io/File.html#getFreeSpace()
new File("/").getFreeSpace();
Ответ 4
Если вы программист на Java, вы можете уже были заданы эти простые, stupide вопрос: "как найти свободное место на диске осталось в моей системе?". Проблема в том, что ответ зависит от системы. На самом деле это реализация, которая является системой зависимый. И до недавнего времени, не было однозначного решения ответить этот вопрос, хотя занесено в базу данных Suns Bug с июня 1997 года. Теперь можно получить свободное пространство на Java 6 с помощью метод в файле класса, который возвращает количество нераспределенных байтов в разделе, названном абстрактное имя пути. Но вы можете быть заинтересованы в использовании дискового пространства (тот, который доступен для записи). Это даже возможно получить общее пространство на диске раздела с методом getTotalSpace().
Ответ 5
при проверке дискового пространства с помощью java у вас есть следующий метод в java.io Класс файла
- getTotalSpace()
- getFreeSpace()
который определенно поможет вам в получении необходимой информации. Например, вы можете обратиться к http://javatutorialhq.com/java/example-source-code/io/file/check-disk-space-java/, который дает конкретный пример использования этих методов.
Ответ 6
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());
}
}
Попробуйте этот код, чтобы получить дисковое пространство