Java中File类相关API的综合练习

不爱生姜不吃醋⭐️⭐️⭐️

声明:
🌻看完之后觉得不错的话麻烦动动小手点个赞赞吧👍
🌻如果本文有什么错误的话欢迎在评论区中指正哦💗
🌻与其明天开始,不如现在行动!💪
🌻大家的支持就是我最大的动力!冲啊!🌹🌹🌹

文章目录

  • 🌴前言
  • 🌴一、创建文件
    • 1.题目描述
    • 2.代码参考
  • 🌴二、单个文件夹查找文件
    • 1. 题目描述
    • 2.代码参考
  • 🌴三.遍历磁盘查找文件
    • 1.题目描述
    • 2.代码参考
  • 🌴四.删除文件夹
    • 1.题目描述
    • 2.代码参考
  • 🌴五.统计文件夹大小
    • 1.题目描述
    • 2.代码参考
  • 🌴六.统计文件数量
    • 1.题目描述
    • 2.代码参考
  • 🌴总结


🌴前言

本文章是关于Java中File类相关API的综合练习


🌴一、创建文件

1.题目描述

在当前模块下创建aaa文件夹,在aaa下创建a.txt。

2.代码参考

import java.io.File;
import java.io.IOException;public class Test {public static void main(String[] args) throws IOException {//aaa文件夹下创建a.txtFile f = new File("Demo\\aaa"); //我的模块文件名是Demo,根据需要修改f.mkdirs();File src = new File(f, "a.txt");boolean b = src.createNewFile();if (b) {System.out.println("创建成功!");} else {System.out.println("创建失败!");}}
}

🌴二、单个文件夹查找文件

1. 题目描述

定义一个方法,查找文件夹中是否有avi文件(不考虑子文件夹)

2.代码参考

import java.io.File;public class Test2 {public static void main(String[] args) {//定义方法,查找文件夹中是否有avi文件File file = new File("Demo");boolean b = getTxtFile(file);System.out.println(b);}public static boolean getAviFile(File file){File[] files = file.listFiles();for (File f : files) {if(f.isFile() && f.getName().endsWith(".avi")){return true;}}return false;}
}

🌴三.遍历磁盘查找文件

1.题目描述

查找电脑中所有的avi文件

2.代码参考

import java.io.File;public class Test3 {public static void main(String[] args) {//定义方法,查找电脑中所有的avi文件findAviFile();}//遍历所有磁盘public static void findAviFile(){File[] files = File.listRoots();for (File src : files) {findAviFile(src);}}//在磁盘中查找文件public static void findAviFile(File src) {File[] files = src.listFiles();if (files != null) {for (File file : files) {//如果是文件,直接打印//如果是文件夹,递归继续查找if (file.isFile()) {if (file.getName().endsWith(".avi")) {System.out.println(file);}} else {findAviFile(file);}}}}
}

🌴四.删除文件夹

1.题目描述

删除一个多级文件夹

2.代码参考

import java.io.File;public class Test4 {public static void main(String[] args) {//删除多级文件夹File src=new File("D:\\AAAJavaStudy\\Day19"); //这个文件夹中有多子文件夹和文件deleteFile(src);}public static void deleteFile(File src){File[] files = src.listFiles();if (files != null){for (File file : files) {if (file.isFile()){file.delete();}else {deleteFile(file);}src.delete();}}}
}

🌴五.统计文件夹大小

1.题目描述

统计一个文件夹的总大小

2.代码参考

import java.io.File;public class Test5 {public static void main(String[] args) {File src = new File("D:\\AAAJavaStudy");System.out.println(getLen(src));}public static long getLen(File src) {long len = 0;File[] files = src.listFiles();if (files != null) {for (File file : files) {if (file.isFile()) {len += file.length();} else {len += getLen(file);}}}return len;}
}

🌴六.统计文件数量

1.题目描述

统计一个文件夹中每种文件个数并打印

2.代码参考

import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;public class Test6 {public static void main(String[] args) {File file=new File("D:\\AAAJavaStudy");System.out.println(getCount(file));}public static HashMap<String, Integer> getCount(File src) {HashMap<String, Integer> hm = new HashMap<>();File[] files = src.listFiles();for (File file : files) {//判断是文件还是文件夹if(file.isFile()){String[] arr = file.getName().split("\\.");//判断:添加有后缀名的文件if(arr.length>=2){String endName = arr[arr.length - 1];//添加if (hm.containsKey(endName)){Integer count = hm.get(endName);count++;hm.put(endName,count);}else {hm.put(endName,1);}}}else {HashMap<String, Integer> sonMap = getCount(file);Set<Map.Entry<String, Integer>> entries = sonMap.entrySet();for (Map.Entry<String, Integer> entry : entries) {String key = entry.getKey();Integer value = entry.getValue();if(hm.containsKey(key)){Integer count = hm.get(key);count+=value;hm.put(key,count);}else {hm.put(key,value);}}}}return hm;}
}

🌴总结

文章中代码的编写使用的是Java中的File和HashMap集合的知识,多加练习熟能生巧。
本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家😘!!!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/49137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【git】fatal: refusing to merge unrelated histories

在一次重新初始化本地仓库后&#xff0c;拉取远程仓库时提示&#xff1a; fatal: refusing to merge unrelated histories 在“fatal: refusing to merge unrelated histories”&#xff08;即&#xff0c;不知道彼此的存在&#xff0c;并已不匹配的项目提交历史&#xff09;…

python Crypto 包安装

经测试使用 pip install pycrypto安装会出现&#xff0c;如下所示错误&#xff1a; pip install pycrypto -i https://pypi.douban.com/simple/ Looking in indexes: https://pypi.douban.com/simple/ Collecting pycrypto Using cached https://pypi.doubanio.com/packages/…

学习平台助力职场发展与提升

近年来&#xff0c;随着互联网技术的发展&#xff0c;学习平台逐渐成为了职场发展和提升的必备工具。学习平台通过提供丰富的课程内容、灵活的学习时间和个性化的学习路径&#xff0c;帮助职场人士更好地提升自己的技能和知识储备&#xff0c;为职场发展打下坚实的基础。 学习…

redis基本介绍以及在node中使用

文章目录 引言一、什么是redis1. redis简介2. redis的特点3. redis的应用场景 二、redis在windows下安装1. 下载安装2.验证是否安装成功3. 配置环境变量 三、redis-cli常用命令介绍1. redis-cli2. keys *3. set key value4. get key5. exists key6. del key7. info8. flushdb9.…

数据结构与算法:通往编程高地的必修课(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

电商平台按关键字搜索商品淘宝京东拼多多api接口PHP示例

关键词搜索商品接口的作用是通过调用接口来实现在电商平台中进行商品搜索。具体而言&#xff0c;该接口可以提供以下功能和作用&#xff1a; 商品搜索&#xff1a;用户可以通过输入关键词&#xff0c;在电商平台上进行商品搜索。接口可以根据关键词对商品的名称、描述、标签等…

解决OpenFOAM颗粒计算输出文件Paraview无法打开问题(二)

第二个方案的源是在CFD中文网上看到的一篇帖子&#xff0c;其具体链接忘了。这个帖子给了一个github的链接&#xff0c;就是将OpenFOAM输出的颗粒位置信息转变为真实的位置信息的脚本。其链接在此。 1. 背景 我们知道&#xff0c;paraview之所以打不开OF输出的颗粒文件&#…

Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘

写在前面 Python中有许多有趣和强大的模块&#xff0c;其中一个非常有趣的模块就是pynupt。pynupt是基于pynput模块的一个封装&#xff0c;用于控制鼠标和键盘。它可以实现自动化操作和游戏外挂等功能。 本文将详细介绍pynupt模块的使用方法和常见的功能。 1. 安装pynput模块…

Android 14新增复制粘贴方式,解析工作原理

安卓14为用户提供了一种更简单的方式来在应用程序之间复制和粘贴内容&#xff0c;这肯定是你现在想在安卓14测试版或未来几个月该软件在你的安卓手机上推出时尝试的。 一旦更新在你的手机上&#xff08;无论是测试版还是其他版本&#xff09;&#xff0c;你只需点击并按住你想…

【Python机器学习】实验14 手写体卷积神经网络

文章目录 LeNet-5网络结构&#xff08;1&#xff09;卷积层C1&#xff08;2&#xff09;池化层S1&#xff08;3&#xff09;卷积层C2&#xff08;4&#xff09;池化层S2&#xff08;5&#xff09;卷积层C3&#xff08;6&#xff09;线性层F1&#xff08;7&#xff09;线性层F2 …

小程序中的全局配置以及常用的配置项(window,tabBar)

全局配置文件和常用的配置项 app.json: pages:是一个数组&#xff0c;用于记录当前小程序所有页面的存放路径&#xff0c;可以通过它来创建页面 window:全局设置小程序窗口的外观(导航栏&#xff0c;背景&#xff0c;页面的主体) tabBar:设置小程序底部的 tabBar效果 style:是否…

MySQL不停重启问题

MySQL不停的自动杀掉自动重启 看一下log日志 my.cnf 里配置的 log_error /var/log/mysqld.log vim /var/log/mysqld.log 报的错误只是 [ERROR] Cant start server: Bind on TCP/IP port: Address already in use [ERROR] Do you already have another mysqld server …

基于大语言模型知识问答应用落地实践 – 知识库构建(上)

01 背景介绍 随着大语言模型效果明显提升&#xff0c;其相关的应用不断涌现呈现出越来越火爆的趋势。其中一种比较被广泛关注的技术路线是大语言模型&#xff08;LLM&#xff09;知识召回&#xff08;Knowledge Retrieval&#xff09;的方式&#xff0c;在私域知识问答方面可以…

屏蔽软件,一个技术出生的小企业老板的灵感

我是技术出生&#xff0c;今年开始也带团队了。虽然 人不多&#xff0c;但是有的时候 人在外面出差&#xff0c;不知道办公室的情况。这个时候为了企业的安全考虑&#xff0c;灵感上就想到了开发出一款能屏蔽软件的工具。杜绝掉一些危害公司的一些事。软件后端采用的是JAVA服务…

【用于全变分去噪的分裂布雷格曼方法】实施拆分布雷格曼方法进行总变异去噪研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

实现Token刷新机制

问题场景&#xff1a; 开发的项目中&#xff0c;如果正在项目中编辑信息&#xff0c;编辑信息的时间的过程中token失效可能导致信息丢失怎么办? 一、解决方法 实现Token刷新机制&#xff1a;客户端定时刷新token&#xff0c;当用户的token即将过期时&#xff0c;可以向服务器…

ForkJionPool线程池

分而治之 简单点说, 如果要处理的 1000 个数据 , 但是我们不具备处理1000 个数据的能力 , 可以只处理 10 个数据, 可以把这 1000 个数据分阶段处理 100 次 , 每次处理 10 个 , 把 100 次的处理结果进行合成, 形成最后这 1000 个数据的处理结果 . 把一个大任务调用 for…

5 Python的面向对象编程

概述 在上一节&#xff0c;我们介绍了Python的函数&#xff0c;包括&#xff1a;函数的定义、函数的调用、参数的传递、lambda函数等内容。在本节中&#xff0c;我们将介绍Python的面向对象编程。面向对象编程&#xff08;Object-Oriented Programming, 即OOP&#xff09;是一种…

系统架构设计师之缓存技术:Redis与Memcache能力比较

系统架构设计师之缓存技术&#xff1a;Redis与Memcache能力比较

OpenCV使用CMake和MinGW-w64的编译安装

OpenCV使用CMake和MinGW-w64的编译安装中的问题 问题&#xff1a;gcc: error: long: No such file or directory** C:\PROGRA~2\Dev-Cpp\MinGW64\bin\windres.exe: preprocessing failed. modules\core\CMakeFiles\opencv_core.dir\build.make:1420: recipe for target ‘modul…