无法删除属性文件

我必须从指定的路径中删除属性文件。 我使用了以下代码:

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

它返回false。

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

File.delete()失败的原因有两个:

  • 这是一个目录而不是空的
  • 您没有删除该文件的操作系统权限
  • 该文件仍在某处打开

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

我同意迈克尔的观点,他的回答非常有道理。 只需对您的代码发表评论,您应该执行以下操作以捕获所有可能的错误并相应地通知用户:

 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 }