两种解决方案~分享下代码
public static void main(String[] args) {
File file = getFile();
int i = getYin(file,0);
System.out.println(i);
/*ArrayList<File> list = new ArrayList<>();
ArrayList<File> list2 = getYin(file,list);
System.out.println(list2.size());*/
}
public static ArrayList<File> getList(File file,ArrayList<File> list) { //集合
File[]files = file.listFiles();
if (files!=null) {
for (File subfile : files) {
if (subfile.isFile()&&subfile.isHidden()) {
System.out.println(subfile);
list.add(subfile);
}else {
getList(subfile, list);
}
}
}
return list;
public static int getYin(File file,int count){ //计数器
if (file != null) {
File[] files = file.listFiles();
if (files != null) {
for (File fi : files) {
if (fi.isFile()&&fi.isHidden()) {
System.out.println(fi);
count++;
}else if(fi.isDirectory()){
count = getYin(fi,count);
}
}
}
}
return count;
}
public static File getFile(){
Scanner sc = new Scanner(System.in);
System.out.println("输入一个文件夹路径");
while (true) {
String s = sc.nextLine();
File file = new File(s);
if (!file.exists()) {
System.out.println("您输入的文件夹不存在");
}else if (file.isFile()) {
System.out.println("您输入的是一个文件名");
}else {
return file;
}
}
} |
|