尽管文件存在且有权限,File.delete() 返回 False
问:我遇到了 file.delete() 的问题方法返回 false,即使 file.exists()、file.canRead()、file.canWrite() 和 file.canExecute() 都返回 true。可能是什么原因造成的?
答:尽管完成了文件存在和权限检查,但由于 Java 中的错误,您仍然可能会遇到此问题。为了克服这个问题,纳入以下步骤至关重要:
将这些步骤集成到您的代码中应该可以解决问题:
<code class="java">public void deleteFile() { FileOutputStream to = null; FileInputStream in = null; try { in = new FileInputStream(file); to = new FileOutputStream(file); to.write(fileContent.getBytes()); to.flush(); } catch (IOException e) { e.printStackTrace(); } finally { try { in.close(); in = null; to.flush(); to.close(); to = null; System.gc(); } catch (IOException e) { e.printStackTrace(); } } // Attempt to delete file if (file.delete()) { // Delete successful } else { // Handle unsuccessful deletion } }</code>
通过遵循这些建议,您可以克服此问题并确保文件删除过程成功完成。
以上是为什么即使文件存在并且具有权限,'File.delete()”也会返回 False?的详细内容。更多信息请关注PHP中文网其他相关文章!