删除目录中的所有文件包含文件夹
public class DeleteDir {
public static void deleteAll(File file)
{
if(file.isFile()||file.list().length==0)
{
file.delete();
}
else
{
File[] files=file.listFiles();
for(File f:files)
{
deleteAll(f);
f.delete();
}
}
/*//是文件,文件夹为空,直接删除
if(file.isFile()||file.list().length==0)
{
file.delete();
}
else
{
File[] files=file.listFiles();
for(File f:files)
{
//删除文件家里面的文件
deleteAll(f);
//删除文件本身
f.delete();
}
}*/
}
public static void main(String[] args) {
deleteAll(new File("D:/text"));
}
}
//打印文件夹中以.java结尾的文件名
import java.io.File;
import java.io.FilenameFilter;
public class FileTest4 {
public static void main(String[] args) {
File file = new File("D:/");
String[] names = file.list(new FilenameFilter() {
//策略模式
@Override
public boolean accept(File dir, String name) {
if(name.endsWith(".java"))
{
return true;
}
return false;
};
});
for(String name:names)
{
System.out.println(name);
}
}
}
//递归删除文件夹中所有文件
import java.io.File;
public class 递归的方式删除一个目录里面的文件和目录
{
public static void deleteAll(File file)
{
// length=0是递归的出口
//(如果本身是一个文件
//或者是一个目录但是目录里面的文件为空可以删除该文件本身)
if (file.isFile() || file.list().length == 0)
{
file.delete();
}
else//或者目录里面不为空,作为列出文件夹里面所有的文件
{
File[] files = file.listFiles();
//循环删除
for (File f : files)
{
// 递归(删除里面的文件)
deleteAll(f);
// 删除目录本身
f.delete();
}
}
}
public static void main(String[] args)
{
deleteAll(new File("F:\\aa"));
}
}