import org.junit.Test;
import java.io.File;
import java.io.IOException;
public class FileDemo1 {
@Test
public void test1() throws IOException {
File file = new File("iodir1");
if (file.createNewFile()) {
System.out.println("目录创建成功");
}
File file1 = new File(file, "hello.txt");
File dir1 = new File(file, "newDir");
boolean b = file1.createNewFile();
if (b) {
System.out.println("子文件创建成功");
}
boolean b1 = dir1.mkdirs();
if (b1) {
System.out.println("子目录创建成功");
}
deleteFile(file1);
deleteFile(dir1);
}
public void deleteFile(File file) {
if (file.delete()) {
System.out.println(file + "删除成功");
}
}
}
2.判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
package com.ch.exer;
import org.junit.Test;
import java.io.File;
public class FileDemo2 {
@Test
public void test() {
File iodir2 = new File("iodir2");
for (String s : iodir2.list()) {
if (s.endsWith(".jpg")) {
System.out.println(s);
}
}
}
}
3.遍历指定目录所有文件名称,包括子文件目录中的文件。
并计算指定目录占用空间的大小
删除指定文件目录及其下的所有文件。
package com.ch.exer;
import org.junit.Test;
import java.io.File;
public class FileDemo3 {
@Test
public void test() {
File iodir3 = new File("iodir3");
showAll(iodir3);
System.out.println(getSizeAll(iodir3));
File dir = new File("iodir3\\conf\\nacos");
removeAll(dir);
}
/**
* 显示file下所有的文件
*
* @param file
*/
public void showAll(File file) {
for (File listFile : file.listFiles()) {
if (listFile.isDirectory()) {
showAll(listFile);
} else {
System.out.println(listFile);
}
}
}
/**
* 计算file目录大小
*
* @param file
* @return
*/
public long getSizeAll(File file) {
long size = 0;
for (File listFile : file.listFiles()) {
if (listFile.isDirectory()) {
size += getSizeAll(listFile);
} else {
size += listFile.length();
}
}
return size;
}
/**
* 删除指定目录
*
* @param file
*/
public void removeAll(File file) {
for (File listFile : file.listFiles()) {
if (listFile.isDirectory()) {//删除子目录
removeAll(listFile);
} else {
listFile.delete();//删除文件
}
}
file.delete();//删除目录本身
}
}