這是我自己敲的代碼,有什么問題請指正笆搓!請把底下的代碼復制一下性湿!放在專用的工具里看會更清晰!
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;//隱藏文件的個數(shù)
int F = 0;//文件的個數(shù)
for(File f : files){//在此遍歷當前文件里的所以文件與文件夾
if(f.isDirectory()){//判斷是否是文件夾
int H = run(str+"\\"+f.getName(),i);//調(diào)用遞歸返回大小
double U = (H/1024);
System.out.println(str4+"文件夾名:"+f.getName()+"該文件大蟹羝怠:"+String.format("%.2f",U )+"kb");
}else{
if(f.isFile()){//判斷是否是文件
F++;//文件個數(shù)增加
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;
}
}