當我試圖從java代碼中刪除一個存在於tomcat服務器conf/Catalina/localhost中的文件時,file.delete()總是返回false 。但如果我通過file.exists()函數檢查文件,它將返回true。我沒有得到任何例外。請幫助我們爲什麼發生這種情況。這是什麼解決方案?java file.delete()返回false但file.exists()返回true
回答
當我試圖刪除文件這是目前在Tomcat服務器 的conf /卡塔利娜/本地主機從Java代碼然後file.delete()總是 返回false。但是,如果我通過file.exists()函數檢查文件 它將返回true。
很有可能您沒有權限刪除服務器上的文件。檢查您的權限。
f.delete()
返回false表示它沒有/不能被刪除,並且f.exists()
返回true,所以文件存在但不能被刪除。
這意味着該文件存在,但你的java程序不必須刪除that.That是許可,爲什麼要刪除函數返回假
Returns: true if and only if the file or directory is successfully deleted; false otherwise
那麼請告訴我如何爲java進程分配權限來刪除文件。因爲我不得不通過代碼刪除文件。 – vishal 2013-03-11 10:49:53
有任何數量的原因有一個文件無法被刪除;它可能不存在,它可能是非空目錄,您可能沒有關閉所有使用它的資源,並且您的程序可能沒有權限這麼做,僅舉幾例。
不幸的是,File.delete()
方法提供的原因很少;這很大程度上取決於你去找出並解決問題。但是有好消息。你首先不想使用File
。
Java 7引入了新的java.nio.file
包,這是一個更強大的文件訪問API。它提供了摘要Path
的概念,並將具體操作分爲Files
類,特別是它提供了Files.delete()
,它被記錄爲引發清楚的例外,描述刪除可能失敗的原因。
使用Path
和Files
;你會很高興你做到了。
在刪除它之前,您必須關閉該流。
e.g -
fileInputStream.close();
file.delete();
如果目錄非空,然後File.delete()
方法將返回false而不發出一個錯誤。
刪除它之前,您必須先清理目錄。
- 1. File.delete()返回false
- 2. File.Exists返回True時應該是False
- 3. C#File.exists返回false
- 4. 應該返回true,但返回false?
- 5. ajax返回true,但==返回false
- 6. File.Exists()返回false,但不是在調試
- 7. file.exists()返回false,但圖像uri存在
- 8. 爲什麼File.Exists返回false?
- 9. Boolean.getBoolean(「true」)返回false
- 10. 文件存在但java file.exists()但返回false
- 11. 返回true或false?
- 12. 對於不存在的文件,file.delete()是否返回true或false?
- 13. 返回1並返回0 VS返回true並返回false
- 14. mysqli_fetch_row()在mysqli_query()返回true時返回false
- 15. in_array返回false時應該返回true
- 16. 方法在返回true時返回false
- 17. JQuery返回true後返回false?
- 18. 任意返回True或False
- 19. Excel UDF返回True但不是False?
- 20. File.exists?()在它應該爲true時返回false?
- 21. file.delete()返回false,即使文件可寫
- 22. file.delete()在Android內部存儲返回false
- 23. PHP:mysql_connect()返回true但是mysql_select_db()返回false _ Ubuntu更新
- 24. 函數返回nil,但應返回true或false
- 25. 比較應該返回true,但返回false
- 26. password_verify從數據庫返回false,但是從站點返回true?
- 27. File.Exists在Active Directory環境中返回False
- 28. File.Exists在UnitTest上下文中返回false
- 29. 爲什麼File.exists返回false positive
- 30. 當文件存在時,File.Exists返回false
如果file.delete()返回false,則表示它未被刪除。所以file.exists()將返回true。沒有任何錯誤 – rajesh 2013-03-11 10:45:08
檢查文件權限。 – m0skit0 2013-03-11 10:45:11
文件存在,但無法刪除。就這樣。 – Ingo 2013-03-11 10:45:33