FileExercise1
package FileExercise20240806;
import java.io.File;
import java.io.IOException;
public class FileExercise1 {
public static void main(String[] args) throws IOException {
// 先创建目录
File file = new File("D:\\Exercise");
System.out.println(file.mkdir());
// 再根据父级目录创建子文件
File file2 = new File(file, "aaa.txt");
System.out.println(file2.createNewFile());
}
}
FileExercise2
package FileExercise20240806;
import java.io.File;
public class FileExercise2 {
public static void main(String[] args) {
// 定义一个方法找某一个文件夹中,是否有以txt结尾的文本文件
File file = new File("D:\\Exercise"); // 创建一个文件对象表示Exercise目录
boolean flag = findTxt(file);
if (flag) {
System.out.println(file.getAbsolutePath() + "目录中有.txt的文本文件");
}
}
public static boolean findTxt(File file) {
File[] files = file.listFiles();
for (File f : files) {
String fileName = f.getName();
if (fileName.endsWith(".txt")) {
return true;
}
}
return false;
}
}
FileExercise3
package FileExercise20240806;
import java.io.File;
public class FileExercise3 {
public static void main(String[] args) {
findAVI();
}
public static void findAVI(){
//获取本地所有的盘符(遍历硬盘中所有的文件)
File[] arr = File.listRoots();
for (File f : arr) {
findAVI(f);
}
}
public static void findAVI(File src){
//1.进入文件夹src
File[] files = src.listFiles();
//2.遍历数组,依次得到src里面每一个文件或者文件夹
if(files != null){
for (File file : files) {
if(file.isFile()){
//3,判断,如果是文件,就可以判断其是否为.avi的文件
String name = file.getName();
if(name.endsWith(".avi")){
System.out.println(file);
}
}else{
//4,判断,如果是文件夹,就可以递归
//细节:再次调用本方法的时候,参数一定要是src的次一级路径
findAVI(file);
}
}
}
}
}
FileExercise4
package FileExercise20240806;
import java.io.File;
public class FileExercise4 {
public static void main(String[] args) {
/* 删除多级目录:因为delete方法只能删除空目录,所以说想要删除多级目录应该先删除目录中的内容
然后再删除自己 */
File f1 = new File("D:\\Exercise");
String fileName = f1.getName();
if (deleteFile(f1)) {
System.out.println(fileName + "成功删除");
} else {
System.out.println("删除失败");
}
}
public static boolean deleteFile(File file) {
File[] files = file.listFiles();
if (files != null) {
for (File f : files) {
if (f.isFile()) {
System.out.println("删除的文件是:" + f.getName());
System.out.println(f.delete());
} else if(f.isDirectory()) {
deleteFile(f);
}
}
}
System.out.println("删除的目录是:" + file.getName());
return file.delete();
}
}
FileExercise5
package FileExercise20240806;
import java.io.File;
public class FileExercise5 {
private static long size = 0;
public static void main(String[] args) {
File f1 = new File("D:\\Exercise");
countSize(f1);
int realSize = (int)(size / 1024 / 1024);
System.out.println(f1.getName() + "的大小是" + realSize + "MB");
}
public static void countSize(File file) {
File[] files = file.listFiles();
if (files != null) {
for(File f : files) {
if (f.isFile()) {
size += f.length();
} else if(f.isDirectory()) {
countSize(f);
}
}
}
}
}