这是我自己敲的代码,有什么问题请指正!请把底下的代码复制一下!放在专用的工具里看会更清晰!
import java.io.File;
import java.util.Properties;
public class work {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int Q = run("../第十八天SE高级第一课",0);//输入你要查看的文件夹的地址
//Properties p = System.getProperties();
//p.list(System.out);
}
public static int run(String name,int i){//返回有几个文件
int Q = 0;//
i++;//前面的----
String str4 = "";//用于接收---》的字符串
String str2 = "------";
String str3 = ">";
for(int g = 0;g < i;g++){//在此拼接
if(g == (i-1)){
str4 += str3;
}else{
str4 += str2;
}
}
String str = name;//在此拼接地址
File file = new File(str);//接收地址
System.out.println(str4+"是否有这个"+file.getName()+"文件!"+file.exists());//判断是否有这个文件
File[] files = file.listFiles();//获取这个文件夹里的所以文件
int s = 0;//隐藏文件的个数
int F = 0;//文件的个数
for(File f : files){//在此遍历当前文件里的所以文件与文件夹
if(f.isDirectory()){//判断是否是文件夹
int H = run(str+"\\"+f.getName(),i);//调用递归返回大小
double U = (H/1024);
System.out.println(str4+"文件夹名:"+f.getName()+"该文件大小:"+String.format("%.2f",U )+"kb");
}else{
if(f.isFile()){//判断是否是文件
F++;//文件个数增加
Q += f.length(); //并给出文件大小
double J = (f.length()/1024);
System.out.println(str4+"文件名:"+f.getName()+"该文件大小:"+String.format("%.2f",J )+"kb");
}
}
if(f.isHidden()){//判断文件夹或文件是否隐藏!
s++;
}
}
System.out.println(str4+file.getName()+"中"+"有"+s+"个隐藏文件,有"+(files.length-s)+"文件夹");
return Q;
}
}