2011-02-07 121 views
41

我不明白爲什麼這個答案不在Android開發人員文檔中;我發現他們始終令人沮喪。Android的Context.openFileOutput()使用什麼文件系統路徑?

重新使用Context類的openFileOutput()方法打開文件進行寫入,它寫入的內部存儲器文件路徑是什麼?

http://developer.android.com/reference/android/content/Context.html

http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

+2

data> data> your app id> files` – YumYumYum 2013-08-02 03:01:54

+2

手機需要紮根才能查看`/ data/data` – tchelidze 2017-03-21 09:07:28

回答

53

重新使用Context類的openFileOutput()方法打開文件進行寫入,它寫入的內部存儲器文件路徑是什麼?

它指向ContextgetFilesDir()返回。您可以這樣說,因爲文檔中說:

返回文件系統中使用openFileOutput(String,int)創建文件的目錄的絕對路徑。

+1

我希望文檔清楚地說明位置可以移動,以及使用什麼方法來查找位置(例如,將getFilesDir()添加到See Also部分)。非常感謝Mark,感謝您的幫助。 – 2011-02-07 20:40:35

1

此文件被寫入相對於您的應用程序在設備內存中的路徑。 你也許可以用ddms看看這個位置,但是當你使用這個Context.openFileOutput()時,你不應該關心任何絕對路徑。

如果你想傳遞文件名稱,你應該考慮使用external storage

16

在DDMS,我發現我下的文件:

data > data > your app id > files 
0

您可以檢索文件路徑通過調用Context#getFileStreamPath(String)

返回在其中一個文件中創建文件系統的絕對路徑存儲了openFileOutput(String, int)

然後File#getAbsolutePath()

相關問題