open failed: ENOENT (No such file or directory)!

File file=new File(path);
if(!file.exists()){
    file.mkdirs();
}
File f=new File(path+fileName);
f.createNewFile();

在这一段代码因为自己有一些不了解折腾了我很久,特此记录,希望能够帮助和我一样遇到此问题的小伙伴。
首先,如果需要读写文件需要添加读写权限(6.0以后的权限需要在代码中添加):
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- SD卡读取权限,用户写入离线定位数据 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
我主要是对以下几点不是很清楚:
1.new File 只创建文件夹,不创建文件。
2.mkdirs 创建所有文件夹(如:/zzz/yyy都会创建), mkdir创建文件夹(如:/zzz/yyy,需要zzz文件夹存在才会创建yyy文件夹)。
3.f.createNewFile 如果f文件不存在就会创建文件返回true,否则返回false,但只创建文件。如:/zzz/yyy.txt,需要zzz文件夹存在才会创建yyy.tx   t文件,否则会报错。
发布了35 篇原创文章 · 获赞 13 · 访问量 10万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章