2016-05-23 80 views
0

我創建一個文本文件,這樣的:我在Android上保存的文件在哪裏?

private void writeToFile(String data) { 
    try { 
     OutputStreamWriter outputStreamWriter = new OutputStreamWriter(context.openFileOutput("ruta.txt", Context.MODE_APPEND)); 
     outputStreamWriter.write(data); 
     outputStreamWriter.close(); 
    } 
    catch (IOException e) { 
     Log.e("Exception", "File write failed: " + e.toString()); 
    } 
} 

據谷歌稱:

注意:您的應用程序的內部存儲目錄是由應用程式的套件名稱指定在Android的特殊位置文件系統。

我認爲,特殊的地理位置是安卓/數據/ com.nameofmyapp 但「ruta.txt」不存在,只是被稱爲緩存與其他事物的文件夾。

android系統
+0

您是否收到任何異常?你在清單中有適當的權限嗎? – t0mm13b

+0

我有權限,沒有例外。 –

回答

0

你有2個主要的地方來保存文件,「外部存儲」(插入設備的文件系統)和「內部存儲」(內部專用位置)

這段代碼在你的「內部存儲」

寫道:
String FILENAME = "hello_file"; 
String string = "hello world!"; 

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
fos.write(string.getBytes()); 
fos.close(); 

由於這些文件被嵌入並加密到私有位置(在apk文件內),因此無法找到保存到「內部存儲」的文件。

在這裏你可以找到詳細信息:

https://developer.android.com/guide/topics/data/data-storage.html

什麼是最好的存儲?很難定義一條規則,通常我使用外部存儲器來存放所有大文件或文件,我使用內部存儲來存儲小型私人文件。

+0

*您的apk內的應用內部存儲器(在您的apk內)*請澄清,這是誤導。 – t0mm13b

+0

這裏閱讀https://developer.android.com/guide/topics/data/data-storage.html –

+1

沒有提及「在你的apk裏面」...... – t0mm13b

0

默認路徑是/data/data/com.nameofmyapp/

那裏有緩存,文件,共享Prefs和libarys文件夾。在應用程序中的文件文件夾將保存的TXT文件:)

我不知道你想做什麼,而是你可以使用

Environment.getExternalStorageDirectory() 

得到exernal存儲路徑,創建一個文件夾存在與您的應用程序的名稱並將您的文件保存在此文件夾中,以便用戶可以輕鬆地將路徑保存到外部媒體上時

+0

我沒有/數據文件夾,它必須是根看見了? –

+0

是的,只要您將文件保存在默認應用程序路徑中,而不是使用其他方法,如外部存儲路徑 – MikaMi