java FileUtils.delete()没有删除文件夹

时间:2017-03-17 07:33:59

标签: java

我的代码有什么问题?参考此question

该文件夹未被删除。

    File f = new File(directory+"\\OOO");
    if (f.exists())
    {            
        System.out.println(f);

        FileUtils.delete(f);

        f.delete();
    //  f.mkdir();
    }
    else
    {
        System.out.println("created");

        //f.mkdir();
    }

Method defined

3 个答案:

答案 0 :(得分:2)

FileUtils不包含任何名为delete()的方法;
您应该使用deleteDirectory()递归删除目录。
或者您也可以使用deleteQuitely()在删除时禁止任何异常。

答案 1 :(得分:1)

FileUtils不包含任何名为delete()的方法,因此您应该使用deleteDirectory()。另外,请确保从Apache Commons IO导入了正确的Java文件实用程序类。如果不是这样,你需要

  • 将Apache Commons IO下载为JAR文件,将其链接到类路径
  • 或者在Maven或其他依赖管理系统中声明Apache Commons IO的依赖关系。

以下是代码:

import org.apache.commons.io.FileUtils;

public class YourClass
{

    public void yourMethod() throws IOException
    {
        File f = new File(directory+"\\OOO");
        if (f.exists())
        {            
            FileUtils.deleteDirectory(f);
        }
        ...
    }
}

答案 2 :(得分:0)

这可能会有所帮助

   try {
        FileUtils.deleteDirectory(new File("path");
        //path Example - C:\\myfolder\\foldertodelete
    } catch (IOException e) {

    }