public class HomeWork4 {
public static void main(String[] args) {
System.out.println("请输入你要查寻的目标文件或者文件夹");
String s=new Scanner(System.in).nextLine();
File file=new File(s);
if (!file.exists()) {
System.out.println("你输入的目录不存在或者无法被访问,请重新输入");
s=new Scanner(System.in).nextLine();
file=new File(s);
}
System.out.println(getSize(file));
}
private static long getSize(File file) {
//创建集合
LinkedList<File> list=new LinkedList<File>();
//将文件放入集合
list.addFirst(file);
//长度
long size=0;
while(list.size()!=0){
//将第一个元素取出来
File f=list.removeFirst();
//判断是不是文件。如果是,累加长度
if (f.isFile()) {
size+=f.length();
}else{
//如果不是,获取文件夹数组
File[] fs=f.listFiles();
//遍历数组
for (File f2 : fs) {
//将数组的元素再次加入集合
list.addFirst(f2);
}
}
}
//循环结束,返回字节长度
return size;
}
}