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);
}
}