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();
最后再重新创建文件就可以了。
时间: 2024-07-30 20:28:58

Android文件操作报open failed: EBUSY (Device or resource busy)的相关文章

Linux下rm -rf删除文件夹报错_ Device or resource busy

1.错误信息 rm: cannot remove `speechd-centos_6.2-prtl-pred-mf34/modules/t2p/py/third/g2p/.nfs00000000039b946b00000004': Device or resource busyrm: cannot remove `speechd-centos_6.2-prtl-pred-mf34/modules/t2p/py/log/.nfs00000000039c52ef00000005': Device o

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

在 mkfs.ext4 /dev/sda2 格式化硬盘空间时,可能出现这样的错误. had this situation at office where I was told to re-partition an already existing partition. The situation was to get the below schema /dev/sdb1 1 3040 24418768+ 83 Linux /dev/sdb2 3041 6080 24418800 83 Linux

docker 磁盘问题:device or resource busy

问题:[[email protected] ~]# docker start 01ea65845e45Error response from daemon: Cannot start container 01ea65845e45: Error getting container 01ea65845e4547be24bc3db0bc3b424faf52b8a0534eb525aa829dd9fd6081c2 from driver devicemapper: Error mounting '/de

rm: cannot remove directory `misc': Device or resource busy

rm: cannot remove directory `misc': Device or resource busy 解决方法: [[email protected] misc]# cat /etc/misc cat: /etc/misc: No such file or directory [[email protected] misc]# cat /etc/auto.master # # $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Ex

linux 加载模块时出现cannot insert '*.ko': Device or resource busy错误

看 linux 设备驱动开发详解时,字符设备驱动一章,注册globalmem驱动时,出现如下错误: # insmod globalmem.ko insmod: can't insert 'globalmem.ko': Device or resource busy 原因: 模块使用的是静态分配设备号的方式,而这个设备号已经被系统中的其他设备所占用.查看未被占用的 设备号的方法: # cat /proc/devices linux 加载模块时出现cannot insert '*.ko': Devi

Android文件操作的存放位置和形式

在上课学习时也学了,虽然大概知道如何用,项目中都在用,但总感觉"不系统",因此看看大牛的博客,根据自己理解与之前所学,在总结一下,心里有个底. 第一,存储位置:内部存储 ,外部存储   和 apk内部资源 内部存储(internal storage :由android系统分配给app的空间) 外部存储(external storage:开发中通常指sd卡) apk内部资源(这是我自己的归类,指的是开发时工程目录下的文件,主要为Assets目录,这样归类只是便于记忆) 以下解释来自:ht

Java和Android文件操作

File这是文件基类,抽象地代表一个文件实体,它有四个不同的构造方法: File(File dir, String name)  File(String path)   File(String dirPath, String name)  File(URI uri)  这些构造方法的实质都是一样的,就是构造一个File实例,必须提供一个完整的文件路径. 构造了一个File实例,并不是说就新建了一个文件或文件夹,这个File实例,只是实际系统内文件实体的一个代表.重要方法:public boole

linux下对文件操作报错----------Unable to *** ***: Read-only file system

在linux中对文件操作时报错:Unable to chmod ***: Read-only file system 用如下指令能解决该问题: 输入su root 进入超级用户 输入 mount -o remount rw / 然后可输入 mount 查看

Android 文件操作

http://www.cnblogs.com/LiHuiGe8/p/5604725.html 读取Assets中的文件数据 在asset目录下的资源是无法直接访问的原生资源,但是这个目录保存的文件可以打包在程序里,Android应用通过Assetmanager来管理该目录下的原始资源. Android不为Assets下的文件生成id,如要使用assets里的文件,需要指定文件的路径和文件名. 代码使用示例: (1)在assets中创建文件:info.txt 文件内容为: 1,这是使用UTF-8编