为什么不使用file.delete()函数删除文件?

时间:2014-11-15 11:27:21

标签: java file-handling

我正在使用一种方法使用file.delete()方法删除特定的预先存在的文件,如下所示

public void deleteFile(String fileName)throws IOException  //To refine. Does not work
{
    File file=new File("C:\\File Handling\\"+fileName+".txt");
    boolean success=file.delete();
    System.out.println(success);
}

但是,成功总是返回为false。 出了什么问题?

请告知如何使用java删除文件。

3 个答案:

答案 0 :(得分:1)

在Windows上,您通常无法删除任何进程打开的文件。此外,您可能希望通过从命令行执行删除来检查您是否具有权限。

答案 1 :(得分:1)

您的代码在我的机器上完美运行。我只是将它包装在一个类中并使其静态以便由main()

调用
public static void main(String[] args) throws IOException {
        deleteFile("newfile");
    }

    public static void deleteFile(String fileName)throws IOException  //To refine. Does not work
    {
        File file=new File("C:\\File Handling\\"+fileName+".txt");
        boolean success=file.delete();
        System.out.println(success);
    }

答案 2 :(得分:0)

有时候windows可以很好地处理文件如何尝试使用方法deleteOnExit()方法,这样可以确保程序在代码中不会打开。在运行代码之前,您是否还仔细检查过该文件是否未在其他程序中打开?