Java怎么递归遍历文件目录
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍"Java怎么递归遍历文件目录",在日常操作中,相信很多人在Java怎么递归遍历文件目录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java怎么递归遍
千家信息网最后更新 2025年11月08日Java怎么递归遍历文件目录
这篇文章主要介绍"Java怎么递归遍历文件目录",在日常操作中,相信很多人在Java怎么递归遍历文件目录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java怎么递归遍历文件目录"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
代码如下
import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.util.Map;import java.util.Map.Entry;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;public class Traverse4 { public static void main(String[] args) { Traverse4 K = new Traverse4(); //调用遍历方法 K.Run("E:\\article"); } //递归遍历文件 public void Run(String AllFile) { File tfile = new File(AllFile); //构建文件数组 File[] files = tfile.listFiles(); for(int i = 0; i < files.length; i++) { //判定该文件是否为目录 if(files[i].isDirectory()) { //是,递归调用函数 Run(files[i].getAbsolutePath()); }else { //不是,读取文件输出单词个数 System.out.println("**********"+files[i].getAbsolutePath()+"**********"); ReadFile(files[i].getAbsolutePath()); } } } //统计单词个数,排序,输出 public void ReadFile(String fname) { File file=new File(fname); try { FileReader fr = new FileReader(file); BufferedReader bufr = new BufferedReader(fr); String s = null; //创建哈希表 Map hm = new HashMap<>(); while((s=bufr.readLine())!=null){ //利用正则表达式分割出单词 String[]strs = s.split("[^a-zA-Z0-9]"); //向哈希表存入单词,统计个数 for(int i = 0; i < strs.length; i++){ strs[i].toLowerCase(); if(!hm.containsKey(strs[i])){ hm.put(strs[i], 1); }else{ Integer counts = hm.get(strs[i]); hm.put(strs[i], counts+1); } } } //调用排序方法 sort(hm); bufr.close(); fr.close(); }catch(Exception e){ e.printStackTrace(); } } public void sort(Mapmap) { //重写List降序排序 List> infoIds = new ArrayList>(map.entrySet()); Collections.sort(infoIds, new Comparator>() { public int compare(Map.Entry o1, Map.Entry o2) { return (o2.getValue() - o1.getValue()); } }); //输出 for (int i = 0; i < infoIds.size(); i++) { Entry id = infoIds.get(i); System.out.println(id.getKey()+":"+id.getValue()); } }} 此次任务只需要编写一个能够实现递归遍历文件目录的方法即可,重点还是统计单词个数和排序输出,这次统计与排序全部都由HashMap完成,统计方法是在编入单词之前先使用containsKey()抓取已存在的键信息,若单词存在其值+1,否则新构建键,以值为1的形式存入该单词。
排序则是重写List方法实现,输出时要注意遍历重写后的List对象,如果遍历的是之前创建的HashMap对象,得到的结果是没有排序之前的数据。
到此,关于"Java怎么递归遍历文件目录"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
文件
单词
递归
排序
目录
方法
统计
输出
个数
学习
对象
更多
哈希
帮助
实用
接下来
代码
任务
信息
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
原神服务器不同有影响吗
夜猫网络安全组
ibm服务器蓝屏进不了系统
网站服务器套件
如何将数据库与vs连接起来
公司网络安全守则
综合实例网络安全的重要性
高中网络安全简笔画
网络安全产品拍摄场景
王者荣耀太空服务器
视频会议软件开发商概念股
软件开发试用期报告
江宁软件开发找工作
在建工程会计账务处理软件开发
网络安全讲话稿文库
页面上的数据与数据库同步
民航数据库校验技巧
湖北调度服务器批发虚拟主机
租服务器的价格
远航游戏服务器繁忙
静安区品质软件开发协议
软件开发技术方案报告书
数据库应用技术读书报告
江西直销软件开发项目
前端提交购物车数据库
可信计算网络安全应用
河源服务器散热片批发商
数据库的冗余大还是小
苹果笔记本调试服务器好用吗
软件开发提高产品品质方法