- 利用File构造器,new 一个文件目录file
- 在其中创建多个文件和目录
- 编写方法,实现删除file中指定文件的操作
- 判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
- 遍历指定目录所有文件名称,包括子文件目录中的文件。
拓展1:并计算指定目录占用空间的大小
拓展2:删除指定文件目录及其下的所有文件
import org.junit.Test;
import java.io.File;
import java.io.IOException;
public class FileExer {
@Test
public void test() throws IOException {
File file = new File("D:\\io\\io1\\hello.txt");
File file1 = new File(file.getParent(),"hh.txt");
File file2 = new File("D:\\io\\io1\\io5");
if(!file1.exists()){
file1.createNewFile();
file2.mkdir();
System.out.println("创建成功");
}else {
System.out.println("文件已存在");
}
}
@Test
public void test1(){
File file = new File("D:\\io\\io1\\io5");
String[] list = file.list();
for(String s : list){
if(s.endsWith(".jpg")){
System.out.println(s);
}
}
}
@Test
public void test2(){
File file = new File("D:\\io\\io1\\io5");
File[] files = file.listFiles();
for (File f : files) {
if(f.getName().endsWith(".jpg")){
System.out.println(f.getName());
}
}
}
@Test
public void test3(){
FileExer fileExer = new FileExer();
File file = new File("D:\\io");
fileExer.printSubFile(file);
System.out.println(fileExer.getDirectorySize(file));
fileExer.deleteDirectory(file);
}
public void printSubFile(File dir){
for (File file : dir.listFiles()) {
if(file.isDirectory()){
printSubFile(file);
}else {
System.out.println(file.getName());
}
}
}
public long getDirectorySize(File file) {
long size = 0;
if(file.isFile()){
size += file.length();
}else {
for (File f : file.listFiles()) {
size += getDirectorySize(f);
}
}
return size;
}
public void deleteDirectory(File file) {
if(file.isDirectory()){
for(File f : file.listFiles()){
deleteDirectory(f);
}
}
file.delete();
}
}