Java获取文件大小的完整教程:5种方法与代码示例
Java获取文件大小
今天我们将研究在Java中获取文件大小的不同方法。在Java中,有多种类可以用于获取文件大小的程序。其中一些类包括:
- 使用File类来获取Java中的文件大小
- 使用FileChannel类在Java中获取文件大小
- 使用Apache Commons IO FileUtils类来获取Java中的文件大小

使用File类获取Java文件大小
Java的File.length()方法返回文件大小(以字节为单位)。如果此文件代表一个目录,则返回值是未指定的。因此,在调用此方法获取Java中的文件大小之前,请确保文件存在且不是一个目录。以下是一个使用File类的简单Java获取文件大小的示例程序。
package com.Olivia.getfilesize;
import java.io.File;
public class JavaGetFileSize {
static final String FILE_NAME = "/Users/scdev/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) + " 兆字节";
}
private static String getFileSizeKiloBytes(File file) {
return (double) file.length() / 1024 + " 千字节";
}
private static String getFileSizeBytes(File file) {
return file.length() + " 字节";
}
}

使用FileChannel类在Java中获取文件大小
我们可以使用FileChannel的size()方法获取文件大小(以字节为单位)。
package com.Olivia.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/scdev/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 + " 字节");
fileChannel.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用Apache Commons IO FileUtils类来获取Java中的文件大小
如果您的项目已经在使用Apache Commons IO,那么您可以使用FileUtils的sizeOf方法来获取文件大小。
package com.Olivia.getfilesize;
import java.io.File;
import org.apache.commons.io.FileUtils;
public class JavaGetFileSizeUsingApacheCommonsIO {
static final String FILE_NAME = "/Users/scdev/Downloads/file.pdf";
public static void main(String[] args) {
File file = new File(FILE_NAME);
long fileSize = FileUtils.sizeOf(file);
System.out.println(fileSize + " 字节");
}
}
以上就是关于Java获取文件大小程序的全部内容。您可以从我们的GitHub仓库中查看更多的Java IO示例。