Android的Context.openFileOutput()使用什么文件系统路径?

时间:2011-02-07 20:13:10

标签: android

我无法理解为什么答案不在Android开发者文档中;我发现他们一直很沮丧。

重新使用Context类上的openFileOutput()方法来打开要写入的文件,它写入的内部存储文件路径是什么?

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

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

4 个答案:

答案 0 :(得分:57)

  

重新使用Context类上的openFileOutput()方法来打开要写入的文件,它写入的内部存储文件路径是什么?

它指向getFilesDir()上的Context返回的位置。您可以这样说,因为文档说:

  

返回文件系统上目录的绝对路径,其中存储使用openFileOutput(String,int)创建的文件。

答案 1 :(得分:16)

在DDMS中,我找到了我的文件:

data > data > your app id > files

答案 2 :(得分:1)

此文件将写入设备内存中相对于您的应用的路径。 您可能会ddms查看该位置,但是当您使用此Context.openFileOutput()时,您不应该关心任何绝对路径。

如果您想传递文件名,应考虑使用external storage

答案 3 :(得分:1)

您可以通过调用Context#getFileStreamPath(String)来检索该文件路径:

  

返回存储使用openFileOutput(String, int)创建的文件的文件系统的绝对路径。

返回File,然后调用File#getAbsolutePath()

所以总结:

context.getFileStreamPath(name).getAbsolutePath()