public class DeletFile
{
// 删除单个文件或者是文件夹
public static boolean delete(String fileName)
{
File file=new File(fileName);
if(!file.exists())
{
System.out.println("删除文件失败"+file.getAbsolutePath()+"文件不存在");
return false;
}
if(file.isFile())//删除文件
{
return DeletFile.deletFile(fileName);
}
else if(file.isDirectory())//删除文件夹
{
return DeletFile.deleteDirectroy(fileName);
}
return true;
}
// 删除单个文件
public static boolean deletFile(String fileName)//删除文件的函数
{
File file = new File(fileName);
if (file.exists() && file.isFile())
{
if (file.delete())//delete函数可以删除单个文件也可已删除文件夹 但是必须保证文件夹是空的 所以删除文件的时候必须先删除里面的文件
{
System.out.println("删除文件成功");
return true;
} else
{
System.out.println("删除文件失败");
return false;
}
} else
{
System.out.println("文件不存在,删除文件失败!");
return false;
}
}
// 删除目录
public static boolean deleteDirectroy(String dirName)
{
if (!dirName.endsWith(File.separator))
dirName += File.separator;
File file = new File(dirName);
if (!file.exists() || !file.isDirectory())
{
System.out.println("删除目录失败," + file.getAbsolutePath() + "文件不存在!");
return false;
}
boolean b = true;
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++)
{
if (files[i].isFile())
{
b = DeletFile.deletFile(files[i].getAbsolutePath());
if (b == false)
break;
}
if (files[i].isDirectory())
{
b = DeletFile.deleteDirectroy(files[i].getAbsolutePath());//递归删除文件夹里面的文件
if (b == false)
break;
}
}
if (b == false)
{
System.out.println("删除目录失败");
return false;
}
if (file.delete())
{
System.out.println("删除目录成功!");
return true;
}
else {
return false;
}
}
public static void main(String []args)
{
String string="C:/temp";
DeletFile.delete(string);
}
}