Java获取文件大小
时间:2020-02-23 14:34:28 来源:igfitidea点击:
今天,我们将研究使用Java获取文件大小的不同方法。
Java获取文件大小
我们可以将不同的类用于java get文件大小程序。
他们之中有一些是;
- Java使用
File
类获取文件大小 - 使用
FileChannel
类在Java中获取文件大小 - Java使用Apache Commons IO
FileUtils
类获取文件大小
在研究示例程序获取文件大小之前,我们有一个示例PDF文件,大小为2969575字节。
Java使用File
类获取文件大小
Java File length()方法返回文件大小(以字节为单位)。
如果此文件表示目录,则未指定返回值。
因此,在调用此方法以获取Java中的文件大小之前,请确保文件存在且它不是目录。
下面是一个使用File类的简单Java获取文件大小示例程序。
package com.theitroad.getfilesize; import java.io.File; public class JavaGetFileSize { static final String FILE_NAME = "/Users/hyman/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"; } }
使用FileChannel
类在Java中获取文件大小
我们可以使用FileChannel size()方法来获取文件大小(以字节为单位)。
package com.theitroad.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/hyman/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使用Apache Commons IOFileUtils
类获取文件大小
如果您已经在项目中使用Apache Commons IO,则可以使用FileUtils sizeOf方法来获取Java中的文件大小。
package com.theitroad.getfilesize; import java.io.File; import org.apache.commons.io.FileUtils; public class JavaGetFileSizeUsingApacheCommonsIO { static final String FILE_NAME = "/Users/hyman/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"); } }