美文网首页
File 类集框架编程(统计指定目录下面的文件类型及数量)

File 类集框架编程(统计指定目录下面的文件类型及数量)

作者: 方法一君 | 来源:发表于2018-03-14 18:45 被阅读0次

    import java.io.File;  

    import java.util.HashMap;  

    import java.util.Iterator;  

    import java.util.Map;  

    import java.util.Map.Entry;  

    import java.util.Set;  

    /**

     * 统计指定目录下面的文件类型及数量

     * 

     * @author Administrator

     *

     */  

    public class FileCountTest {  

    // 定义静态变量resultMap,存放文件类型和对应数量  

    public static final Map resultMap = new HashMap();  

    public static void main(String[] args) {  

    getFileType("D:\\MySQL\\");  

    // 获取map中的key集合,遍历map  

            Set> entrySet = resultMap.entrySet();  

            Iterator> it = entrySet.iterator();  

    while (it.hasNext()) {  

                Entry entry = it.next();  

    System.out.println(entry.getKey() +"=" + entry.getValue());  

            }  

        }  

    /**

         * 获取指定路径下的文件类型及数量

         * @param path 磁盘路径

         */  

    public static void getFileType(String path) {  

    File file =new File(path);  

    // 判断path路径是否存在  

    if (!file.exists()) {  

    return ;  

            }  

    // 获取path路径的文件列表,并遍历文件列表  

            File[] fileList = file.listFiles();  

    for (File fileTemp : fileList) {  

    // 如果当前File是文件  

    if (fileTemp.isFile()) {  

    // 截取文件后缀名  

    String endTemp = fileTemp.getName().substring(fileTemp.getName().lastIndexOf(".") + 1);  

                    Integer num = resultMap.get(endTemp);  

    if (num == null) {  

    resultMap.put(endTemp,1);  

    }else {  

    resultMap.put(endTemp, num +1);  

                    }  

                }  

    // 如果当前File是目录  

    if (fileTemp.isDirectory()) {  

    // 递归调用getFileType()方法  

                    String pathTemp = fileTemp.getAbsolutePath();  

                    getFileType(pathTemp);  

                }  

            }  

        }  

    }  

    相关文章

      网友评论

          本文标题:File 类集框架编程(统计指定目录下面的文件类型及数量)

          本文链接:https://www.haomeiwen.com/subject/engaoxtx.html