android java.io.IOException: open failed: EBUSY (Device or resource busy)



今天遇到一个奇怪的问题,

测试在程序的下载界面,下载一个文件第一次下载成功,删除后再下载结果下载报错,

程序:file.createNewFile();

报错:java.io.IOException: open failed: EBUSY (Device or resource busy)


程序:RandomAccessFile randomAccessFile = new RandomAccessFile(localfile, "rwd");

报错:java.io.FileNotFoundException: open failed: EBUSY (Device or resource busy)

at libcore.io.IoBridge.open

......一啪啦

这些手机都没问题,就只有华为的一款有这个问题,在网上查了,说的是FAT32 system,

busy

busy

这是这个测试机的系统,具体的不知道跟这个到底有没关系,反正根据网上一段话说的是把要删除的文件改名然后再删除,下次下载时,就算没删掉,文件名也改了,所以第二次就能下载了。

删除文件代码:

   public void deleteSDCardFolder(File dir) {
       File to = new File(dir.getAbsolutePath() + System.currentTimeMillis());
       dir.renameTo(to);
       if (to.isDirectory()) {
           String[] children = to.list();
           for (int i = 0; i < children.length; i++) {
               File temp = new File(to, children[i]);
               if (temp.isDirectory()) {
                   deleteSDCardFolder(temp);
               } else {
                   boolean b = temp.delete();
                   if (b == false) {
                       Log.d("deleteSDCardFolder", "DELETE FAIL");
                   }
               }
           }
           to.delete();
       }

解决问题参考网址:http://stackoverflow.com/questions/11539657/open-failed-ebusy-device-or-resource-busy

width="760" height="90" align="center,center" id="cproIframe_u1160947_4" src="http://pos.baidu.com/acom?adn=3&at=231&aurl=&cad=1&ccd=24&cec=UTF-8&cfv=14&ch=0&col=zh-CN&conBW=0&conOP=1&cpa=1&dai=4&dis=0&ltr=&ltu=http%3A%2F%2Fwww.cfanz.cn%2Findex.php%3Fa%3Dread%26c%3Darticle%26id%3D141809&lu_161=6&lunum=6&n=92037085_cpr&pcs=1349x583&pis=10000x10000&ps=2363x225&psr=1366x768&pss=1349x2374&qn=8038587a3a834692&rad=&rsi0=760&rsi1=90&rsi5=4&rss0=%23FFFFFF&rss1=%23FFFFFF&rss2=%230000ff&rss3=%23444444&rss4=%23008000&rss5=&rss6=%23e10900&rss7=&scale=&skin=tabcloud_skin_3&stid=5&td_id=1160947&titFF=%E5%AE%8B%E4%BD%93&titFS=12&titTA=left&tn=text_default_760_90&tpr=1449627144551&ts=1&version=2.0&xuanting=0&exps=113014&dtm=BAIDU_DUP2_SETJSONADSLOT&dc=2&di=u1160947&ti=android%20java.io.IOException%3A%20open%20failed%3A%20EBUSY%20(Device%20or%20r&tt=1449627147528.5.142.142&feid=113014" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="margin: 0px; padding: 0px;" allowtransparency="true">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值