Как узнать, сколько дискового пространства осталось с помощью Java?

Как узнать, сколько дискового пространства осталось с помощью Java?

Просто взгляните на документацию по classу файлов. Это одна из новых функций в версии 1.6.

Эти новые методы также include:

  • public long getTotalSpace()
  • public long getFreeSpace()
  • public long getUsableSpace()

Если вы все еще используете 1.5, вы можете использовать библиотеку IO Apache Commons и свой class FileSystem

Java 1.7 имеет несколько иной API, свободное пространство может быть запрошено через class 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 заключается в том, что вы получаете значимые исключения, когда запрос на дисковое пространство терпит неудачу.

Используйте CommonsIO и FilesystemUtils:

https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/FileSystemUtils.html#freeSpaceKb ()

например

 FileSystemUtils.freeSpaceKb("/"); 

или встроенный в JDK:

http://java.sun.com/javase/6/docs/api/java/io/File.html#getFreeSpace ()

 new File("/").getFreeSpace(); 

Ссылка

Если вы программист на Java, вам, возможно, уже задали этот простой, глупый вопрос: «Как найти свободное место на диске в моей системе?». Проблема в том, что ответ зависит от системы. На самом деле, реализация зависит от системы. И до недавнего времени не было уникального решения, чтобы ответить на этот вопрос, хотя потребность была зарегистрирована в Sun Bug Database с июня 1997 года. Теперь можно получить свободное место на диске в Java 6 с помощью метода в classе File, который возвращает количество нераспределенных байтов в разделе, названном именем абстрактного пути. Но вам может быть интересно использовать полезное дисковое пространство (тот, который доступен для записи). Можно даже получить общее дисковое пространство раздела с помощью метода getTotalSpace ().

при проверке дискового пространства с помощью java у вас есть следующий метод в java.io Класс файла

  • getTotalSpace ()
  • getFreeSpace ()

которые определенно помогут вам в получении необходимой информации. Например, вы можете обратиться к http://javatutorialhq.com/java/example-source-code/io/file/check-disk-space-java/, что дает конкретный пример использования этих методов.

 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()); } } 

Попробуйте этот код, чтобы получить дисковое пространство

  • FocusEvent не получает последнее значение JFormattedTextField, как я могу его получить?
  • Альтернатива предпочтениям на Java
  • Как настроить кодировку в Maven?
  • Как я имитирую статические методы в classе с помощью easymock?
  • JavaMail IMAP через SSL довольно медленно - Массовая выборка нескольких сообщений
  • Как работает синтаксис объявления аргументов массива Java «...»?
  • Что такое serialVersionUID и почему я должен его использовать?
  • simpledateformat синтаксический анализ с буквой «Z»
  • Аутентификация общей карты доступа (CAC) с использованием Java
  • Как сериализовать статические элементы данных classа Java?
  • Сложность времени содержит (Object o), в ArrayList объектов
  • Interesting Posts

    Оптимизация скорости беспроводного маршрутизатора и минимизация помех

    Запуск приложений как администратора по умолчанию в Windows 10

    Отключить выделение оранжевого контура в фокусе

    Ноутбук иногда выключается, когда он не работает, заставляя меня потерять несохраненные файлы

    Как добавить программу в контекстное меню всех файлов?

    std :: vector reserve () и push_back () быстрее, чем resize () и индекс массива, почему?

    Как правильно использовать ключевое слово extern в C

    Как я могу заставить команды «dir» и «copy» работать с «* .xyz», но не «* .xyz ~»?

    Идентификация ASP.NET (OWIN): как получить UserID с controllerа веб-API?

    как изменить имя процесса приложения Java?

    Стресс-тестирование ASP.NET

    Обратить строку в Java

    Как создать родительский-последний / родительский class ClassLoader в Java или Как переопределить старую версию Xerces, которая уже была загружена в родительский CL?

    Слияние команды в vim

    Содержимое Bootstrap popover не может изменяться динамически

    Давайте будем гением компьютера.