2014-07-01 26 views
0

我意識到在Android中讀寫文本文件時出現問題是由於對文件位置的引用不正確。我不明白我出錯的地方。無法使用Java在Android中選擇正確的文件位置

我已經嘗試了這種方法:

File file = new File(Environment.getExternalStorageDirectory()+"/topics.json"); 

但return語句是:

W/System.err(8871): java.io.FileNotFoundException: /topics.json: open failed: EROFS (Read-only file system) 

我也曾嘗試:

File file = getContext().getFileStreamPath(Environment.getExternalStorageDirectory() + "/topics.json"); 

但收到錯誤:

E/AndroidRuntime(6886): Caused by: java.lang.IllegalArgumentException: File /storage/emulated/0/topics.json contains a path separator 
+0

你加入到寫外部storage'的權限? – Opiatefuchs

+0

是的,我已經添加了讀取外部和寫入外部 – jamesgates1

回答

0

你應該嘗試這樣的事:

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "topics.json"); 
+0

我仍然收到錯誤:W/System.err(10622):java.io.FileNotFoundException:/topics.json:打開失敗:ENOENT(沒有這樣的文件或目錄) – jamesgates1

+0

好吧,我改變了一些其他的參考,但這使它的工作。謝謝! – jamesgates1

+0

上述說法是不可能的。你的錯誤來自其他代碼。也許你試圖去讀這個文件。在嘗試讀取或打開輸入流之前,使用'file.exists()'來檢查它是否存在。 – greenapps

相關問題