createNewFile() 报错 open failed: ENOENT (No such file or directory) 的解决方案

在写Android应用中使用createNewFile() 遇到open failed: ENOENT (No such file or directory) 错误,在网上查了许多方法,不过都不能解决我的问题,最后发现了问题所在,所以写一下总结。

首先,总结一下网上普遍的解决方案:

1、层级目录问题 https://blog.csdn.net/zhouyingge1104/article/details/49612319

mkdir()没有发挥作用,应使用mkdirs();

2、权限问题  http://www.cnblogs.com/zzw1994/p/5021118.html

在API23+以上,不止要在AndroidManifest.xml里面添加权限,还要在JAVA代码中请求权限。

 

以上就是网上普遍的解决方案,而我的问题是:

3、文件命名问题

通过createNewFile()也要遵守命名规范,如果包含了不合法的符号,也会报open failed: ENOENT (No such file or directory) 的错误。

posted @ 2018-05-09 13:57  Blue_Keroro  阅读(10274)  评论(0编辑  收藏  举报