刪除文件和目錄

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);
    }
 
}
相關文章
相關標籤/搜索