java获取文件大小
Today we will look into different ways to get file size in Java.
今天,我们将研究使用Java获取文件大小的不同方法。
Java获取文件大小 (Java get file size)
There are different classes that we can use for java get file size program. Some of them are;
我们可以将不同的类用于java get文件大小程序。 他们之中有一些是;
- Java get file size using
File
class Java使用File
类获取文件大小 - Get file size in java using
FileChannel
class 使用FileChannel
类获取Java中的文件大小 - Java get file size using Apache Commons IO
FileUtils
class Java使用Apache Commons IOFileUtils
类获取文件大小
Before we look into an example program to get file size, we have a sample pdf file with size 2969575 bytes.
在研究示例程序获取文件大小之前,我们有一个样本PDF文件,大小为2969575字节。
Java使用File
类获取文件大小 (Java get file size using File
class)
Java File length() method returns the file size in bytes. The return value is unspecified if this file denotes a directory. So before calling this method to get file size in java, make sure file exists and it’s not a directory.
Java File length()方法返回以字节为单位的文件大小。 如果此文件表示目录,则未指定返回值。 因此,在调用此方法以获取Java中的文件大小之前,请确保文件存在并且它不是目录。
Below is a simple java get file size example program using File class.
以下是使用File类的简单Java获取文件大小示例程序。
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";
}
}
使用FileChannel
类获取Java中的文件大小 (Get file size in java using FileChannel
class)
We can use FileChannel size()
method to get file size in bytes.
我们可以使用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使用Apache Commons IO FileUtils
类获取文件大小 (Java get file size using Apache Commons IO FileUtils
class)
If you are already using Apache Commons IO in your project, then you can use FileUtils sizeOf method to get file size in java.
如果您已经在项目中使用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");
}
}
That’s all for java get file size programs.
Java获取文件大小程序就这些了。
java获取文件大小