![](/img/trans.png)
[英]FileNotFoundException: /storage/emulated/0/Download/ - Android Oreo
[英]FileNotFoundException: /storage/emulated/0/Android
我嘗試此文件編寫器/讀取器代碼段進行測試:
File file = new File(Environment.getExternalStorageDirectory(), "LM/lm_lisdat_01.txt");
FileOutputStream outputStream = new FileOutputStream(file);
outputStream.write(("test").getBytes());
outputStream.close();
File file = new File(getExternalFilesDir(null), "LM/lm_lisdat_01.txt");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
在4.行中,我在下面收到此錯誤消息,但是在LM目錄中創建了“ lm_lisdat_01.txt”文件:
java.io.FileNotFoundException:/storage/emulated/0/Android/data/hu.abisoft.lm/files/LM/lm_lisdat_01.txt:打開失敗:ENOENT(沒有此類文件或目錄)
可以幫助任何人回答這個(我認為很簡單)的問題嗎? 我是Android的newby。 謝謝!
您正在一個目錄中創建文件,然后嘗試將其打開以在另一目錄中輸入。
Environment.getExternalStorageDirectory()
是/ storage / emulated / 0
getExternalFilesDir(null)
是/storage/emulated/0/Android/data/hu.abisoft.lm/files
使用相同的目錄進行文件創建和輸入。
請查看更改。 你的路錯了。
並檢查文件是否存在。
File file = new File(Environment.getExternalStorageDirectory(), "LM/lm_lisdat_01.txt");
FileOutputStream outputStream = new FileOutputStream(file);
outputStream.write(("test").getBytes());
outputStream.close();
File file = new File(Environment.getExternalStorageDirectory(), "LM/lm_lisdat_01.txt");//changes here
if(file.exists())
{
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
}
使用sdk,您無法寫入內部存儲的根目錄。 這會導致您的錯誤。 編輯:
根據您的代碼,將內部存儲與sdk結合使用:
final File dir = new File(context.getFilesDir() + "/nfs/guille/groce/users/nicholsk/workspace3/SQLTest");
dir.mkdirs(); //create folders where write files
final File file = new File(dir, "BlockForTest.txt");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.