全部产品
云市场
    java_io_IOException

java_io_IOException

更新时间:2018-04-19 20:40:03

问题分析:

IO发生异常时抛出,引起的原因很多,如相关文件不存在、无权限读写、编码错误、文件读到末尾、io中断、JSON、URL等格式不正确等。

解决方案:

引起IO异常的原因很多,如相关文件不存在、无权限读写、编码错误、文件读到末尾、io中断、JSON、URL等格式不正确等。建议捕获IO异常并做相应的业务处理。

代码示例:

  1. 示例一:

java.io.IOException: open failed: EACCES (Permission denied)

确认文件路径,增加读写外部存储上的文件权限:

  1. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
  2. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
  1. 示例二:

java.io.IOException: open failed: ENOENT (No such file or directory)

增加try catch块做异常处理。

  1. public void readFile(String filePath) {
  2. BufferedReader br = null;
  3. try {
  4. String sCurrentLine;
  5. br = new BufferedReader(new FileReader(filePath));
  6. while ((sCurrentLine = br.readLine()) != null) {
  7. System.out.println(sCurrentLine);
  8. }
  9. } catch (IOException e) {
  10. e.printStackTrace();
  11. } finally {
  12. try {
  13. if (br != null)
  14. br.close();
  15. } catch (IOException ex) {
  16. ex.printStackTrace();
  17. }
  18. }
  19. }

参考文献:

1.https://developer.android.com/training/permissions/index.html (权限使用文档)

2.https://developer.android.com/reference/android/Manifest.permission.html (权限分类文档)

3.https://www.mkyong.com/java/how-to-read-file-from-java-bufferedreader-example/

4.https://developer.android.com/reference/java/io/IOException.html

5.https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous (普通权限及危险权限)

6.https://developer.android.com/training/permissions/requesting.html#perm-check (权限授权方式)