首页 > 编程语言 >Java基础 小练习——统计各种文件的数量

Java基础 小练习——统计各种文件的数量

时间:2023-10-22 15:00:11浏览次数:32  
标签:文件 Java HashMap 练习 getKey file hm entry strings

public static void main(String[] args) {
File f = new File("E:\\Java基础资料\\哈哈");
HashMap<String, Integer> count = getCount(f);
StringBuilder sb = new StringBuilder();
for (Map.Entry<String, Integer> entry : count.entrySet()) {
sb.append(entry.getKey()).append(":").append(entry.getValue()).append("个\n");
}
System.out.println(sb);
}

public static HashMap<String, Integer> getCount(File f) {
HashMap<String, Integer> hm = new HashMap<>();
for (File file : f.listFiles()) {
if (file.isFile()) {
String[] strings = file.getName().split("\\.");
if(hm.containsKey(strings[strings.length - 1]))
hm.put(strings[strings.length - 1], hm.get(strings[strings.length - 1]) + 1);
else
hm.put(strings[strings.length - 1], 1);
} else {
HashMap<String, Integer> hashMap = getCount(file);
Set<Map.Entry<String, Integer>> entries = hashMap.entrySet();
for (Map.Entry<String, Integer> entry : entries) {
if(hm.containsKey(entry.getKey()))
hm.put(entry.getKey(), hm.get(entry.getKey()) + entry.getValue());
else
hm.put(entry.getKey(), entry.getValue());
}
}
}
return hm;
}

标签:文件,Java,HashMap,练习,getKey,file,hm,entry,strings
From: https://www.cnblogs.com/gagaya2/p/17780455.html

相关文章

  • 基于JS的大文件分片
    项目需要上传超大文件,后台为DJANGO,不能直接用H5的FILEAPI来POST,所以采用slice分片在分片后为BLOB不能直接传,bolb转file有些浏览器又有支持问题。所以做一些转换,转uint8,uint16,uint32,django的后台处理起来都比较烦所以试着用base64装入json,很容易搞定。具体思路:1.读入文件路径......
  • 基于java(ssm)交通事故档案管理系统
    (文章目录)具体实现截图主要功能:基于java(ssm)交通事故档案管理系统系统分为用户和管理员两个角色用户的主要功能有:1.用户注册和登陆系统2.用户查看警察相关信息3.用户查看我的相关事故信息,可以对交通事故进行交通申诉4.用户查看交通申诉审核信息5.退出登陆管理员的主......
  • Java基础概念
    JVM(JavaVirtualMachine)java跨平台原理:总结:在需要运行Java应用程序的操作系统上,安装一个与操作系统对应的Java虚拟机(JavaVirtualMachine)即可。JRE(JavaRuntimeEnvironment)是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。我们想要运行一个已有的Java程......
  • 查找文件命令find总结以及查找大文件
    find/-name***示例如下:[dinpay@zk-spark-01spark]$find/home/ll-nameslaves/home/ll/spark/conf/slaves查找大于80M的文件find.-typef-size+60M查找并显示属性find.-typef-size+60M-print0|xargs-0ls-l查找并显示具体文件大小find.-typef-size+60M......
  • 一个简单的QQ空间下雪效果的Java代码示例
    ​  以下是一个简单的QQ空间下雪效果的Java代码示例​编辑```javaimportjava.awt.*;importjavax.swing.*;publicclassSnowFallextendsJFrame{  privateintwidth,height;  privateintsnowCount;  privateint[]snowXPositions,snowYPositio......
  • ABB AC900F学习笔记327:WINCC7.5SP2作为OPC SERVER,freelance2019SP2作为OPCC LIENT练习
    这一篇博客我在新浪博客记录过,地址是 ABBAC900F学习笔记327:WINCC7.5SP2作为OPCSERVER,freelance2019SP2作为OPCCLIENT练习_来自金沙江的小鱼_新浪博客(sina.com.cn)为了避免丢失,我在这里再次记录一遍今天做一个练习,WINCC7.5SP2作为OPCSERVER,freelance2019SP2作为OPCCLIENT。......
  • 01_Java语言概述
    ......
  • Dubbo快速入门_在本工程模块中依赖另外子模块的接口报错java找不到符号
    场景:Dubbo入门案例项目结构:三个子模块dubbodemo_interfacedubbodemo_providerdubbodemo_consumer在消费者和提供者中引入dubbodemo_interface的依赖。dubbodemo_interface中定义了一个接口HelloServicedubbodemo_provider中有HelloService的实现类dubbodemo_consumer中定......
  • Java零基础入门-赋值运算符
    前言Java是一门广泛被应用的编程语言,它被用于开发各种类型的应用程序,从桌面应用程序到企业级后端系统。对于零基础的人来说,学习Java可能会感到有些困难。本文将帮助那些没有编程经验的人了解Java的赋值运算符。摘要本文将介绍Java中赋值运算符的概念、示例以及代码方法介绍。在......
  • Java零基础入门-逻辑运算符
    前言Java是一种广泛应用的编程语言,在在这里插入代码片软件开发中有着重要的地位。本文将介绍Java中的逻辑运算符及其在程序设计中的应用,希望能够帮助零基础的读者更好地入门学习Java。摘要本文将介绍Java中的三种逻辑运算符:与运算符(&&)、或运算符(||)和非运算符(!),并通过源代码......