Java怎么递归遍历文件目录
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍"Java怎么递归遍历文件目录",在日常操作中,相信很多人在Java怎么递归遍历文件目录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java怎么递归遍
千家信息网最后更新 2025年02月02日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; //创建哈希表 Maphm = 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(Map map) { //重写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安全错误
数据库的锁怎样保障安全
数据库vi
资本市场诚信数据库
乌克兰游戏用什么服务器
软件开发的中间商
交友软件开发服务商
华为软件开发需要配置的电脑
centos安装ftp服务器
数据库数据没有删除成功怎么办
服务器主板插4个内存好用吗
睿猎互联网科技
福州软件开发大学
手机聚合支付软件开发
数据库慢语句的概念
安卓软件开发用什么
软件开发分为几个周期
网络安全应急响应指南百科
成都学习网络技术的地方
perl 生物数据库
数据库 备份软件
花都app软件开发服务商
怀宁公安局网络安全大队
软件开发的理念
网络安全为人民的一段话
安福软件开发技术
服务器数据安全提升
sql数据库建立学生登记表
承接挂机软件开发
tomcat怎么获取数据库数据
数据库连接池c3p0
网络安全微视频内容