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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章