儘管檔案存在且有權限,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中文網其他相關文章!