前言
目前android上的绝大多数项目还是由JAVA开发的,而java最常见的异常之一就是java.io.IOException,这个异常我们在android开发中也会经常遇到,这里整理了一些在Android开展法中常见的IOException情况,但在实际中,造成IOException异常的原因可能多种多样,这里我只整理了几种,欢迎大家留言讨论。
open failed: EACCES (Permission denied)
根据报错信息可知是因为权限错误导致,解决办法有以下几种:
1.在AndroidMainfest.xml中添加上<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAG”/>权限;
2.如果还不行的时候可以试着在AndroidMainfest.xml中添加<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 权限;
3.注意AndroidMainfest.xml文件中权限的书写位置:应该和<application>标签节点同一级,而不要写到<application>标签中,这样权限是不会生效的;
4.还有一种异常是我在查资料的时候发现的,有的手机在以磁盘模式连接电脑的时候,手机会暂时失去对sdcard/外存的读写权限,这时打开手机app就会发生这个权限异常的IOException。
open failed: EISDIR (Is a directory)
这个异常表明程序应该是对一个文件进行操作,而你传入程序的是一个文件夹对象。
java.ioException:No such file or directory
表明程序指定读写的文件不存在,或者对该目录和文件没有读写权限,例如:app有自己的/data/data/packagename/下目录和文件的读写权限,而对其它包下的目录和文件是没有读写权限的,除非你的app获取了root权限。
Android java.io.IOException异常情况整理