#java #java-io
#java #java-ввод-вывод
Вопрос:
Я использую File file = File.createTempFile(title, ext);
для создания временного файла, который должен быть удален после завершения обработки метода. Мне также нужно сделать некоторые проверки размера для него после создания, и это не удается, потому file.getTotalSpace();
что возвращает огромное число — «238857973760» — почти 2 терабита. Фактический файл, созданный в папке tmp, составляет 1 КБ. Кроме того, у меня есть только 250 ГБ… так что я не знаю, что с этим значением.
Есть какие-нибудь идеи, почему этот метод выходит из -под контроля?
Ответ №1:
file.getTotalSpace()
возвращает размер раздела в байтах. Вы можете использовать file.length()
Ответ №2:
Ответ №3:
Если вы читаете JavaDoc метода getTotalSpace():
Возвращает размер раздела, названного этим абстрактным путем.
Он возвращает размер не вашего файла, а раздела на вашем диске (но может возвращать недопустимое значение, если оно не может его определить, например, на сетевом диске).
Используйте file.length() вместо этого, если вы хотите получить размер файла.