Java如何获取文件大小呢?

Java-经验王 Java经验 发布时间:2021-04-17 18:22:08 阅读数:8494 1

实现思路:
       下文讲述Java中获取文件大小的方法分享:

  1. 使用File类获取文件大小;
  2. 使用FileChannel类获取文件大小;
  3. 使用Apache Commons IO FileUtils类获取文件大小;

一. 使用File类获取文件大小

     Java File.length()方法:可返回一个文件大小,但其返回单位为字节(使用之前需判断文件是否存在)

 

 


import java.io.File;

public class testClass {

    static final String FILE_NAME = "D:/java265.zip";

    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(getFileSizeKBytes(file));
        System.out.println(getFileSizeMBytes(file));
    }

    private static String getFileSizeMBytes(File file) {
        return (double) file.length() / (1024 * 1024) + " mb";
    }

    private static String getFileSizeKBytes(File file) {
        return (double) file.length() / 1024 + "  kb";
    }

    private static String getFileSizeBytes(File file) {
        return file.length() + " bytes";
    }
}
 

2. 使用FileChannel类获取文件大小

可以使用FileChannel.size()方法来获取文件大小(以字节为单位)。

import java.io.IOException;
import java.nio.channels.FileChannel;
import java.nio.file.Path;
import java.nio.file.Paths;

public class testClass {

    static final String FILE_NAME = "D:/java265.zip";

    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();
        }
    }
}
 

3. 使用Apache Commons IO FileUtils类获取文件大小

        此方法需引入Apache Commons IO,然后使用FileUtils.sizeOf()方法获取文件大小。

 

import java.io.File;

import org.apache.commons.io.FileUtils;

public class testClass{

    static final String FILE_NAME = "D:/java265.zip";

    public static void main(String[] args) {
        File file = new File(FILE_NAME);

        long fileSize = FileUtils.sizeOf(file);

        System.out.println(fileSize + " bytes");
    }
} 
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/1618655257284.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者