2011-12-09 58 views
2

我必须从指定的路径中删除属性文件。我用下面的代码:无法删除属性文件

File f1 = new File("C:\\Equinox\\UIDesign\\root\\root.properties"); 
boolean success=f1.delete(); 

它返回false。

但是,文本文件而不是属性文件被成功删除。

+1

您是否尝试过“手动”删除它,看看您是否有适当的权利? – Justmaker

回答

5

有几个原因File.delete()可能失败:

  • 这是一个目录,而不是空
  • 您没有该文件仍然打开的OS权限删除文件
  • 某处

如果您打开该文件的FileInput/OutputStream并忘记关闭它,最后一个可能是您自己的错。

+0

+1的细节 – GETah

1

我同意迈克尔的观点,他的回答很有道理。只是对您的代码发表评论,您应该做以下事项以捕获所有可能的错误并相应地通知用户:

try{ 
File f1 = new File("C:\\Equinox\\UIDesign\\root\\root.properties"); 
boolean success=f1.delete(); 
if(!success){ 
    // Notify user that the file 
} 
catch(SecurityException ex){ 
// No sufficient rights to do this operation 
}