不爱生姜不吃醋⭐️⭐️⭐️
声明:
🌻看完之后觉得不错的话麻烦动动小手点个赞赞吧👍
🌻如果本文有什么错误的话欢迎在评论区中指正哦💗
🌻与其明天开始,不如现在行动!💪
🌻大家的支持就是我最大的动力!冲啊!🌹🌹🌹
文章目录
- 🌴前言
- 🌴一、创建文件
- 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集合的知识,多加练习熟能生巧。
本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家😘!!!