Как получить размер файла в Java

Возможный дубликат:
Размер папки или файла

Я использовал этот код для создания объекта File:

File f = new File(path);

Как получить размер этого файла?

В чем разница между getUsableSpace(), getTotalSpace() и getFreeSpace()?

Ответ 1

Используйте length() метод в File. Из javadocs:

Возвращает длину файла, обозначенного этим абстрактным путем. Возвращаемое значение не указано, если этот путь указывает каталог.

Для второй части вопроса, прямо из File javadocs:

  • getUsableSpace() Возвращает количество байтов, доступных этой виртуальной машине, в разделе с именем этого абстрактного пути

  • getTotalSpace() Возвращает размер раздела с именем этого абстрактного пути

  • getFreeSpace() Возвращает количество нераспределенных байтов в разделе, названном этим абстрактным именем пути

Ответ 2

Попробуй это:

long length = f.length();

Ответ 3

Был быстрый Google. Кажется, чтобы найти размер файла, который вы делаете,

long size = f.length();

Различия между тремя найденными вами методами можно найти здесь

getFreeSpace() и getTotalSpace() довольно понятны, getUsableSpace() кажется пространством, которое может использовать JVM, которое в большинстве случаев будет таким же, как объем свободного места.