Java怎么递归遍历文件目录
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"Java怎么递归遍历文件目录",在日常操作中,相信很多人在Java怎么递归遍历文件目录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java怎么递归遍
千家信息网最后更新 2026年11月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; //创建哈希表 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安全错误
数据库的锁怎样保障安全
互联网新科技
科技与互联网
智能科技公司是互联网公司吗
互联网科技战争
关于新基建和互联网科技
互联网 科技创新
深圳互联网络科技有限公司
互联网高科技企业
字节跳动和互联网科技
湖南诚度互联网科技有限公司
注册互联网科技公司经营范围大全
电子科技大学互联网创业大赛
想开互联网科技公司怎么样
科技互联网的核心竞争力
上海科技产业互联网平台
银行科技岗属于互联网吗
互联网科技数字货币
米泉互联网科技专业怎么样
第三届互联网大会安防黑科技
互联网科技对化妆品行业
科技互联网龙头
互联网属科技
小马过河互联网科技
壹账通互联网科技
中国最先进互联网科技公司
互联网新科技动漫ppt素材
美国互联网科技实力
互联网公司高科技产品
互联网高科技绘画
中国主要互联网科技公司