不爱生姜不吃醋⭐️⭐️⭐️
声明:
看完之后觉得不错的话麻烦动动小手点个赞赞吧
如果本文有什么错误的话欢迎在评论区中指正哦
与其明天开始,不如现在行动!
大家的支持就是我最大的动力!冲啊!
本文章是关于Java中File类相关API的综合练习
在当前模块下创建aaa文件夹,在aaa下创建a.txt。
import java.io.File;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
//aaa文件夹下创建a.txt
File 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("创建失败!");
}
}
}
定义一个方法,查找文件夹中是否有avi文件(不考虑子文件夹)
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;
}
}
查找电脑中所有的avi文件
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);
}
}
}
}
}
删除一个多级文件夹
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();
}
}
}
}
统计一个文件夹的总大小
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;
}
}
统计一个文件夹中每种文件个数并打印
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集合的知识,多加练习熟能生巧。
本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家!!!