Android java.io.IOException异常情况整理

前言

目前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异常情况整理

时间: 2024-11-09 00:55:50

Android java.io.IOException异常情况整理的相关文章

android studio java.io.IOException:setDataSourse fail.

这一次是针对Android开发中的一个小问题,权限获取的问题. 在写了一个一个小Android程序的时候,有时候普需要获取本机的文件(Audio&Video),这时候如果不加权限就会出现这种情况: java.io.IOException:setDataSourse failed. 此时应该在 注册一下权限: 这样,问题解决.

hbase异常:java.io.IOException: Unable to determine ZooKeeper ensemble

项目中用到hbase,有时候可能会报一些异常,比如java.io.IOException: Unable to determine ZooKeeper ensemble 等等,当出现这个问题时,某某说是项目中用到线程池的问题导致的,但查看异常之后,并非跟啥线程池有关系,异常信息如下: java.io.IOException: Unable to determine ZooKeeper ensemble at org.apache.hadoop.hbase.zookeeper.ZKUtil.con

Android 蓝牙 java.io.IOException: Connection refused 异常处理笔记

最近在做一个手机和Pad连接音箱的应用,需要用到蓝牙连接发送命令来控制音箱,但是在RfcommSocket连接时, 在pad上会出现一个 java.io.IOException: Connection refused 的异常,纠结好久一直没有解决,连接代码如下: http://www.ehotelier.cn/Thread.jsp?tid=481784 http://www.ehotelier.cn/Thread.jsp?tid=481784 http://www.ehotelier.cn/Th

异常: http://www.ly.com/news/visa.html: java.io.IOException: unzipBestEffort returned null

nutch 运行时异常: http://www.ly.com/news/visa.html: java.io.IOException: unzipBestEffort returned null 参考:http://www.tuicool.com/articles/faUB73 此页面采用这个是一个分段传输,而nutch爬虫则默认采用了非分段式处理,导致构造GZIP时出错,从而影响了后面的GZIP解压失败. 是否是分段传输可以在Http headers里面看到,如果是分段传输则有:transfe

Android - Error: &quot;java.io.IOException: setDataSource failed.: status=0x80000000&quot;

Error: "java.io.IOException: setDataSource failed.: status=0x80000000" 本文地址: http://blog.csdn.net/caroline_wendy Android使用MediaPlayer类播放视频时, 报错, setDataSource错误; 即MediaPlayer无法设置数据源. 可能的原因: 访问网络数据源, 需要权限, 但在AndroidManifest中未添加网络权限; 解决方法: <use

windows 中使用hbase 异常:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

平时一般是在windows环境下进行开发,在windows 环境下操作hbase可能会出现异常(java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.),以前也遇到过这个问题,今天又有小伙伴遇到这个问题,就顺带记一笔,异常信息如下: 2016-05-23 17:02:13,551 WARN [org.apache.hadoop.util.NativeCodeLoa

java.io.IOException: Stream closed 异常的原因和处理

java.io.IOException: Stream closed 多个线程索引同一个input  stream,当某一个thread在执行完之后,把这个inputstream关闭了:而此时正在从这个input  stream流中读取信息的线程就会抛出  java.io.IOException:  Stream  closed  异常. 终于找到这个异常的根源所在,原来是两个页面同时调用一个jsp,这个jsp中的内建对象out在执行out.close()时发生的异常,也就是当某一个thread

Hadoop与HBase中遇到的问题(续)java.io.IOException: Non-increasing Bloom keys异常

在使用Bulkload向HBase导入数据中, 自己编写Map与使用KeyValueSortReducer生成HFile时, 出现了下面的异常: java.io.IOException: Non-increasing Bloom keys: 201301025200000000000003520000000000000500 after 201311195100000000000000010000000000001600 at org.apache.hadoop.hbase.regionserv

Android开发中与服务器交互时,遇到java.io.IOException: Target host must not be null的问题

当我遇到这个问题的时候,也在网上查找好半天.找到了一个和这个问题很类似的问题——java.lang.IllegalStateException: Target host must not be null 这个里面报的是IllegalStateException,翻译过来是非法状态异常,这个是url的状态,一般来说会是地址不正确(如:在地址的开头缺少http://). 不过,我遇到的是com.lidroid.xutils.exception.HttpException: java.io.IOExc