执行代码前请在电脑D盘建立文件夹fileTest,在fileTest文件夹下建立file文件夹,在file文件夹下建立001.txt,002.txt,003.txt文件,
package com.ali.file;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FileDelTest {
public static void main(String[]args){
System.out.println("=============start================");
File file = new File("d:\\fileTest\\file");
boolean isDirectory = file.isDirectory();//测试此抽象路径名表示的文件是否为a目录
if(isDirectory){
System.out.println("file====" + file.getPath());
String[] files = file.list();//返回一个命名文件和目录的字符串数组目录由此抽象路径名表示
for(String path :files){
System.out.println("path = " + path);
String afterPotintLetter = path.substring(path.lastIndexOf(".")+1,path.length());
System.out.println("afterPotintLetter=" + afterPotintLetter);
if(forbidFormat(afterPotintLetter)){
System.out.println("d:\\fileTest\\file========" + path);
File deleteFile = new File("d:\\fileTest\\file\\"+path);
if(deleteFile.exists()){// exists() 测试由此抽象路径名表示的文件或目录 存在。
System.out.println("=============delete_start===================");
deleteFile.delete();/// delete() 删除由此抽象路径名表示的文件或目录。如果此路径名表示一个目录,那么该目录必须为空 *命令删除。
System.out.println("=============delete_end===================");
}
}
}
}else{
System.out.println("else============");
System.out.println("file====" + file.getPath());
if(file.isFile()){ ///isFile() 文件。如果文件不是目录,则文件是<em>正常</ em>另外,满足其他依赖于系统的标准。任何非目录由Java应用程序创建的文件保证是一个正常的文件。
file.delete(); ///删除由此抽象路径名表示的文件或目录。如果此路径名表示一个目录,那么该目录必须为空 *命令删除。
}
}
}
public static boolean forbidFormat(String threeLetter){
List<String> fileFormat = new ArrayList<String>();
fileFormat.add("txt");
fileFormat.add("doc");
if(fileFormat.contains(threeLetter)){
return true;
}else{
return false;
}
}
}
执行后,在D:\fileTest\file目录下就已经删除掉三个txt文件,当然也可以说删除其他文件类型的文件
。