import java.io.File;
/**
* 用递归求目录及此目录下的所有文件的大小;
* @author shuaisweet
*
*/
public class TestFileSize
{
public long fileSize(File file)
{
//文件直接返回长度
if(file.isFile())
{
return file.length();
}
//文件夹递归调计算文件夹内的文件及子文件夹的长度,求和
String[] files=file.list();
long size=0;
for(int i=0;i<files.length;i++)
{
size+=fileSize(new File(file,files[i]));
}
return size;
}
public static void main(String[] args)
{
TestFileSize s=new TestFileSize();
File f=new File("d:\\资料");
System.out.println(s.fileSize(f));
}
}