package com.sxd.createDao; import java.io.File; import java.time.LocalDateTime; import java.util.HashMap; import java.util.Map; import java.util.TreeMap; public class Test { private long a = 0; Map<String, File> map = new HashMap<String, File>(); Map<String, String> repeatMap = new TreeMap<String ,String>(); @org.junit.Test public void test() { System.out.println(LocalDateTime.now()); //本机磁盘上所有文件 File [] files = File.listRoots(); for (File file : files) { num(file); } // num(new File("D:/BaiduYunDownload")); //单个文件夹下 System.out.println("计算机文件总数:"+a); System.out.println(LocalDateTime.now()); if(repeatMap.size() > 0){ repeatMap.forEach((k,v)->System.out.println("文件路径:"+k+" 文件名:"+v)); } } //计算文件夹下所有文件总数 public void num(File file){ if(file.isDirectory()){ File [] files = file.listFiles(); if(files != null){ for (File string : files) { num(string); } } }else{ a++; if(map.containsKey(file.getName())){ File thisFile = map.get(file.getName()); if(file.getTotalSpace() == thisFile.getTotalSpace()){ repeatMap.put(file.getPath() , file.getName()); repeatMap.put(thisFile.getPath(),thisFile.getName()); } }else{ map.put(file.getName(),file); } } } }