可以用递归实现 int getLength(File file){ int len = 0; if (file.isFile){ len += file.length(); return len; } else { File [] file = listFile(); for (int i = 0;i < file.length;i++){ len += getLength(file[i]); } } return len; }我只是写了个大意,你改一下应该就可以了,
import java.io.*; public class TestBig{ String info=""; long info1; public void FileName(File f){ if(f.isDirectory()){ File[] a= f.listFiles(); for(int i=0;i<a.length;i++){ FileName(a[i]); } }else{ File f2 =f.getParentFile(); info1 +=f.length(); info +=f2 +" "+f.getName()+" "+f.length()+" bytes "+"\n"; } } public static void main(String[] args){ TestBig tb = new TestBig(); File f1 = new File(args[0]); tb.FileName(f1); System.out.println(tb.info+" "+"all is "+tb.info1); } }
int getLength(File file){
int len = 0;
if (file.isFile){
len += file.length();
return len;
}
else { File [] file = listFile();
for (int i = 0;i < file.length;i++){
len += getLength(file[i]);
}
}
return len;
}我只是写了个大意,你改一下应该就可以了,
public class TestBig{
String info="";
long info1;
public void FileName(File f){
if(f.isDirectory()){
File[] a= f.listFiles();
for(int i=0;i<a.length;i++){
FileName(a[i]);
}
}else{
File f2 =f.getParentFile();
info1 +=f.length();
info +=f2 +" "+f.getName()+" "+f.length()+" bytes "+"\n";
}
}
public static void main(String[] args){
TestBig tb = new TestBig();
File f1 = new File(args[0]);
tb.FileName(f1);
System.out.println(tb.info+" "+"all is "+tb.info1);
}
}