此示例显示如何使用File类的length()方法获取文件和文件夹的大小。 length()方法以字节为单位返回文件大小,如果文件不存在则返回0L

这是File.lenght()的一个例子。

文件:FileSizeExample.java -

package com.yiibai.tutorial.io;

import java.io.File;

/**
 * @author yiibai
 * FileSizeExample.java
 * Nov 2, 2016
 */
public class FileSizeExample {
    public static void main(String[] args) {

        System.out.println("--------------File Size-----------------");
        File file=new File("D:\HelloJava.txt");
        if(file.exists()){
            System.out.println("File size in bytes : "+file.length());
        }else{
            System.out.println("File does not exist.");
        }

        System.out.println("\n------------Folder Size----------------");
        File folder=new File("D:\Work\Java");
        long folderSize=getFolderSize(folder);
        System.out.println("Folder size in bytes : "+folderSize);
    }

    /**
     * @param folder
     * @return size
     */
    private static long getFolderSize(File folder) {
        long size=0;
        for(File file:folder.listFiles()){
            if(file.isFile()){
                size+=file.length();
            }else{
                size+=getFolderSize(file);
            }
        }
        return size;
    }
}

执行上面示例代码,得到以下结果:

--------------File Size-----------------
File size in bytes : 1896

------------Folder Size----------------
Folder size in bytes : 102768