Java 获取文件大小

今天我们将研究如何在Java中获得文件大小。

Java 获取文件大小

有不同的类,我们可以使用的Java获取文件大小程序。

  1. Java 使用「File」类 获取文件大小 2. Java 使用「FileChannel」类 获取文件大小 3. Java 使用 Apache Commons IO 获取文件大小

Before we look into an example program to get file size, we have a sample pdf file with size 2969575 bytes. java file size, java get file size

Java 使用文件类来获取文件大小

Java 文件长度() 方法返回字节中的文件大小. 返回值如果该文件表示目录,则未定义,所以在调用此方法以获取 Java 中的文件大小之前,请确保 file exists并且它不是目录。

 1package com.journaldev.getfilesize;
 2
 3import java.io.File;
 4
 5public class JavaGetFileSize {
 6
 7    static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";
 8
 9    public static void main(String[] args) {
10    	File file = new File(FILE_NAME);
11    	if (!file.exists() || !file.isFile()) return;
12
13    	System.out.println(getFileSizeBytes(file));
14    	System.out.println(getFileSizeKiloBytes(file));
15    	System.out.println(getFileSizeMegaBytes(file));
16    }
17
18    private static String getFileSizeMegaBytes(File file) {
19    	return (double) file.length() / (1024 * 1024) + " mb";
20    }
21    
22    private static String getFileSizeKiloBytes(File file) {
23    	return (double) file.length() / 1024 + "  kb";
24    }
25
26    private static String getFileSizeBytes(File file) {
27    	return file.length() + " bytes";
28    }
29}

java get file size

使用FileChannel类来获取Java中的文件大小

我们可以使用 FileChannel 尺寸() 方法来获取字节中的文件大小。

 1package com.journaldev.getfilesize;
 2
 3import java.io.IOException;
 4import java.nio.channels.FileChannel;
 5import java.nio.file.Path;
 6import java.nio.file.Paths;
 7
 8public class JavaGetFileSizeUsingFileChannel {
 9
10    static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";
11
12    public static void main(String[] args) {
13
14    	Path filePath = Paths.get(FILE_NAME);
15    	FileChannel fileChannel;
16    	try {
17    		fileChannel = FileChannel.open(filePath);
18    		long fileSize = fileChannel.size();
19    		System.out.println(fileSize + " bytes");
20    		fileChannel.close();
21    	} catch (IOException e) {
22    		e.printStackTrace();
23    	}
24    }
25}

Java 使用 Apache Commons IO FileUtils 类获得文件大小

如果您已经在您的项目中使用了Apache Commons IO,那么您可以使用 FileUtils sizeOf方法来获取Java中的文件大小。

 1package com.journaldev.getfilesize;
 2
 3import java.io.File;
 4
 5import org.apache.commons.io.FileUtils;
 6
 7public class JavaGetFileSizeUsingApacheCommonsIO {
 8
 9    static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";
10
11    public static void main(String[] args) {
12    	File file = new File(FILE_NAME);
13
14    	long fileSize = FileUtils.sizeOf(file);
15
16    	System.out.println(fileSize + " bytes");
17    }
18}

这就是 java 获取文件大小程序的全部。

您可以从我们的 GitHub 存储库中查阅更多 Java IO 示例。

Published At
Categories with 技术
Tagged with
comments powered by Disqus