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

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<String, Integer> resultMap = new HashMap<String, Integer>();

    public static void main(String[] args) {
        getFileType("D:\\MySQL\\");

        // 获取map中的key集合,遍历map
        Set<Map.Entry<String, Integer>> entrySet = resultMap.entrySet();
        Iterator<Entry<String, Integer>> it = entrySet.iterator();
        while (it.hasNext()) {
            Entry<String, Integer> 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);
            }
        }
    }
}

时间: 2024-11-03 21:57:33

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

练习:统计指定目录下 每个文件类型的个数

import os def filelist(filepath): filelst=os.listdir(filepath) #产生该目录下文件.文件夹的list.只有文件名和文件夹名,没有路径.注意包含隐藏文件 type_dict=dict() #创建一个空字典,存储文件类型及其个数 for eachFile in filelst: if os.path.isfile(eachFile): #判断是否是文件 type=os.path.splitext(eachFile)[1] #os.path

JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。

package ioTest.io3; /* * 获取指定目录下的文件夹和文件的File对象或是字符串名称. * 也可以通过filter获取指定的文件夹或者指定类型的文件 * 这里面需要做一个总结,如何利用jdk的源码去理解不熟悉的方法的应用. */ import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; public class FileDemo2 { public static void m

python3.7脚本---遍历指定目录内所有文件

#!/usr/bin/python import os import re def getFile(path): fList = os.listdir(path) #将指定目录内的文件以列表格式输出 os.chdir(path) docuPath = os.getcwd() #获取根路径 fileList = [] for f in fList: #对目录内的文件进行遍历 if os.path.isdir(f): #判断文件类型是否为目录 getFile(f) #若是目录,递归运行此函数,继续进

自定义类加载器——加载任意指定目录的class文件

public class MyClassLoader extends ClassLoader{ String path;//自定义类加载器所负责的文件夹 public MyClassLoader(String path) { super(); this.path = path; } @SuppressWarnings("deprecation") @Override protected Class<?> findClass(String name) throws Class

用python查找在指定目录下特定文件夹下的指定文件

本代码是在python2.*上边所写. 功能:在指定目录下查找特定文件夹下的特定文件. 实例:查找在packages目录下文件夹名为values下的strings.xml文件 #!/usr/bin/env python import os def walk_dir(path): filter_file_name = 'strings.xml' for root, dirs, files in os.walk(path): for dir_item in dirs: if dir_item ==

iOS案例:读取指定目录下的文件列表

// // main.m // 读取指定目录下的文件列表 // // Created by Apple on 15/11/24. // Copyright © 2015年 Apple. All rights reserved. // /* *读取指定目录下的文件列表 */ #import <Foundation/Foundation.h> void myQuickMethod(); int main(int argc, const char * argv[]) { //文件操作对象 NSFil

禁止指定目录执行php文件

我们设置网站权限的时候,有些目录不得不设置让http服务器有写入权限,这样安全隐患就来了.比如discuz x2的 data目录,这个必须要有写入限,论坛才能正常运行,但有的黑客可能就会利用这个目录上传php文件(你会说附件上传已经限制这种格式的文件,但谁知道黑客会利用什么手段上传呢,只有他们清楚了),进而到配置文件读取到mysql的连接信息,那么你的数据库就是他的了.下面介绍apache和nginx下禁止指定目录执行php文件. apache的配置 <Directory /home/cento

PHP遍历指定目录下的文件以及文件夹

这个东西在网上找了很久才找到..但是关于去除.和..烦有点不懂额..于是就把那个判断去掉了,改成了str_replace的形式. <?php//定义变量 $n1=array(".",".."); $n2=array("",""); //定义要打开的目录为 upload $dir = "upload/"; //打开目录并遍历所有文件及去除个别文件夹 if (is_dir($dir)) { if ($dh

socket实现两台FTP服务器指定目录下的文件转移(不依赖第三方jar包)

通过socket实现两台FTP服务器指定目录下的文件转移,其中包含了基础了ftp文件列表显示.上传和下载.这里仅供学习用,需掌握的点有socket.ftp命令.文件流读取转换等 完整代码如下: FtpFileTransfer.java package com.xxx.ftp.client; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io