Автор оригинала: Pankaj Kumar.
Сегодня мы рассмотрим различные способы определения размера файла в Java.
Java получить размер файла
Существуют различные классы, которые мы можем использовать для программы java get file size. Некоторые из них являются;
- Java получает размер файла с помощью
Файла
класса - Получить размер файла в java с помощью
FileChannel
class - Java получает размер файла с помощью Apache Commons IO
Файлы
класс
Прежде чем мы рассмотрим пример программы для определения размера файла, у нас есть образец pdf-файла размером 2969575 байт.
Java получает размер файла с помощью класса файла
Метод Java File length() возвращает размер файла в байтах. Возвращаемое значение не указано, если этот файл обозначает каталог. Поэтому, прежде чем вызывать этот метод для определения размера файла в java, убедитесь, что файл существует, а не является каталогом.
Ниже приведен простой пример программы java для получения размера файла с использованием класса File.
package com.journaldev.getfilesize; import java.io.File; public class JavaGetFileSize { static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf"; public static void main(String[] args) { File file = new File(FILE_NAME); if (!file.exists() || !file.isFile()) return; System.out.println(getFileSizeBytes(file)); System.out.println(getFileSizeKiloBytes(file)); System.out.println(getFileSizeMegaBytes(file)); } private static String getFileSizeMegaBytes(File file) { return (double) file.length() / (1024 * 1024) + " mb"; } private static String getFileSizeKiloBytes(File file) { return (double) file.length() / 1024 + " kb"; } private static String getFileSizeBytes(File file) { return file.length() + " bytes"; } }
Получить размер файла в java с помощью класса FileChannel
Мы можем использовать метод FileChannel size() для получения размера файла в байтах.
package com.journaldev.getfilesize; import java.io.IOException; import java.nio.channels.FileChannel; import java.nio.file.Path; import java.nio.file.Paths; public class JavaGetFileSizeUsingFileChannel { static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf"; public static void main(String[] args) { Path filePath = Paths.get(FILE_NAME); FileChannel fileChannel; try { fileChannel = FileChannel.open(filePath); long fileSize = fileChannel.size(); System.out.println(fileSize + " bytes"); fileChannel.close(); } catch (IOException e) { e.printStackTrace(); } } }
Java получает размер файла с помощью класса FileUtils ввода-вывода Apache Commons
Если вы уже используете Apache Commons IO в своем проекте, вы можете использовать метод FileUtils sizeOf для получения размера файла на java.
package com.journaldev.getfilesize; import java.io.File; import org.apache.commons.io.FileUtils; public class JavaGetFileSizeUsingApacheCommonsIO { static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf"; public static void main(String[] args) { File file = new File(FILE_NAME); long fileSize = FileUtils.sizeOf(file); System.out.println(fileSize + " bytes"); } }
Это все для программ java get с размером файла.