此示例显示如何使用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