Android删除文件读取文件注意事项

我们都知道Android有一个专门用于存储系统各种文件的数据库,我们删除文件的时候往往就是一个file.delete()之后,接着再发送一个广播

//发布广播要求更新数据
private void sendCategoryCountBroadcast(){
        mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE));
    }

然而,最近在维护最近文件的时候发现,这个广播没有用的,这个广播只会在文件存在的情况下才会对文件进行收录,但是当文件不存在的时候,它不会删除这个文件的记录,于是我们要彻底的删除一个文件,除了file.delete()或者是DocumentFile中的

DocumentsContract.deleteDocument(context.getContentResolver(),uri);

还要在数据库中删除文件:

ContentResolver resolver = mContext.getContentResolver();
resolver.delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, MediaStore.Files.Media.DATA + "=?", new String[]{path});

当然,也可以不删除,通过对在读取的时候判断一下文件是否存在也是可以的。
也就是通过file.exists()来判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值