您的位置:首页 > 编程语言

IO之——键盘录入一个文件夹路径,统计该文件夹

2018-03-04 19:08 274 查看
思路是运用递归方式:
1,录入的时候缺少了一个判断,代码写的不是很严谨,不知道还有没有其他问题,
2,不过递归的时候总感觉得到的目录怪怪的,
不知道怎么改正,有大神还望帮忙斧正,不胜感激public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入文件路径:");
String string=scanner.nextLine();

File file=new File(string);
//获取到文件夹中的所有文件放进一个静态集合,采用递归方法,
ArrayList<File> files=getFileAll(file);
System.out.println(files);

Map<String, Integer> hash=new HashMap<>();
int value1=0;

//遍历数组,取得文件和文件名,截取文件名.后面的字符串,并匹配
for (File file2 : files) {
String str=file2.getName().substring(file2.getName().indexOf(".")+1);
if (file2.getName().toLowerCase().endsWith(str)) {

hash.put(str, value1++);
}
}

scanner.close();
System.out.println(hash);
//遍历集合,取得键值对
Set<String> keys=hash.keySet();
for (String key : keys) {
System.out.println(key+"文件有"+hash.get(key)+"个");
}

}

static ArrayList<File> list=new ArrayList<>();
public static ArrayList<File> getFileAll(File file) {
File[] files=file.listFiles();

for (File file2 : files) {
if (file2.isFile()) {
list.add(file2);
}else {
getFileAll(file2);
}
}
return list;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐