列举出给定目录中各种文件的个数算法实现
来源:互联网 发布:掉头发怎么办知乎 编辑:程序博客网 时间:2024/05/18 15:28
前几天去笔试,有一道研发的笔试题,题目是这样的:递归遍历一个目录,统计目录及其子目录中各种类型文件的数目,统计完成后打印出各种文件的扩展名及其数目。当时笔试写的不完整,今天整理出来,以便参考。
package com.jlau.test;import java.io.File;import java.util.HashMap;import java.util.Map;import java.util.Set;/** * 列举出给定目录中各种文件的个数 * @author 薛寒 创建日期 : 2014-9-19 上午11:26:22 */public class ListFile {// 存储每个文件的扩展名(key) 和 个数(value)private static Map map = new HashMap();public static Map listFile(File f) {if (f.isDirectory()) {// 是一个目录File[] files = f.listFiles();for (File file : files) {if (file.isDirectory()) {listFile(file);} else {// 是一个文件String name = file.getName();String ext = getFileExt(name);System.out.println(name + "====" + ext);if (map.containsKey(ext)) {// 如果扩展名已存在,则+1int alreadyExistCount = map.get(ext);map.put(ext, alreadyExistCount + 1);} else {map.put(ext, 1);// 不存在,是首次加入,则置为1}}}}return map;}/** * 获取文件扩展名 创建日期 : 2014-9-19下午12:48:32 * * @param fileName * @return */public static String getFileExt(String fileName) {int pos = fileName.lastIndexOf(".");if (pos <= 0) {return "";} else {String ext = fileName.substring(pos, fileName.length()).toLowerCase();return ext;}}public static void main(String[] args) {File f = new File("E:/找工作相关");Map map = listFile(f);Set keySet = map.keySet();for (String key : keySet) {System.out.println(key + " 个数 :" + map.get(key));}}}
- 列举出给定目录中各种文件的个数算法实现
- [Python]列举出目录中某类文件的路径
- 找出给定数组或文件中最小的k个数
- 如何列举目录下的文件
- 从n个数中提取出最大的m个数的算法与采用stl的实现
- 递归算法 列出给定目录下的文件/java描述
- 递归算法 列出给定目录下的文件/java描述
- c列举文件目录
- 求二进制中1的个数 各种算法 各种。。
- Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?
- Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?
- Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?
- 实现对给定文件,目录的打包(格式zip)
- Java 列举出文件夹及其子文件夹下的文件
- 统计文件中单词频率的各种算法实现
- IOS中各种文件的目录路径
- 求给定正整数中1的个数
- 列举实现合并GridView的单元格各种方法代码
- opengl入门系列5-视景体定义
- windows系统下用命令重启Apache
- 文档和元素的几何图形
- MTK Android 菜鸟上手之旅
- redhat忘记root密码的解决方法
- 列举出给定目录中各种文件的个数算法实现
- 创建control device
- static关键字理解整理:静态变量、静态函数的作用及使用规则
- Java开发中的23种设计模式详解
- 用jedis链接池技术调用redis数据库
- 裁剪libiconv-1.8
- C++ primer 第五版 中文版 练习 11.7 个人code
- PL/SQL Developer如何连接64位的Oracle图解
- 双buffer模版