2

我以前也有过这种情况,我这辈子都不记得问题是什么了……

我试图使用file.delete();,但文件没有被删除,没有错误或任何东西,所以试试这个:

public void removeFile(File file){
     file.delete();
     System.out.println(file.canRead());
     System.out.println(file.canWrite());
     System.out.println(file);
     System.out.println(file.delete());
 }

它返回:

C:\contest\dpd\
true
true
C:\contest\dpd\out\408.OUT
false

注意:在 Windows 7 上运行。有问题的文件没有被任何其他程序打开,它没有只读设置。

4

1 回答 1

2

好的,根据我的评论,答案是我很愚蠢。

该文件用于:

      BufferedReader reader = new BufferedReader(new FileReader(file));

阅读器未关闭

reader.close();

也许如果有人遇到这种问题并遇到这个问题,请追溯文件的使用,检查它被访问的位置,检查任何正在使用它的东西,在调用删除函数之前释放它。

于 2013-02-04T01:04:03.487 回答