Android文件操作報open failed: EBUSY (Device or resource busy)


Android刪除文件后重新創建時偶爾出現 open failed: EBUSY (Device or resource busy)錯誤,該錯誤是Android系統的一個bug,大概的意思類似於windows的“改文件正在被使用”。產生這個錯誤的原因是Android在刪除文件后沒有及時釋放文件鎖,導致文件在重新創建時仍然處於被某一進程占用的狀態。解決的方法是:在刪除文件之前對該文件進行重命名,這樣可以保證在刪除文件時系統持有的文件鎖是重命名之后的文件鎖。代碼可以這樣寫:

final File to = new File(file.getAbsolutePath() + System.currentTimeMillis()); file.renameTo(to); to.delete();
最后再重新創建文件就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM