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

Android使用的文件系统路径是什么';s Context.openFileOutput()?,android,Android,我不明白为什么Android开发者文档中没有这个答案;我发现他们总是令人沮丧 如果要打开一个要写入的文件,请在上下文类上使用openFileOutput()方法,它写入的内部存储文件路径是什么 此文件将写入设备内存中与应用程序相关的路径。 您可以使用ddmspeek查看该位置,但是当您使用此Context.openFileOutput()时,您不应该关心任何绝对路径 如果你想通过文件名,你应该考虑使用.< /P> 如果要打开一个要写入的文件,请在上下文类上使用openFileOutput()方

我不明白为什么Android开发者文档中没有这个答案;我发现他们总是令人沮丧

如果要打开一个要写入的文件,请在上下文类上使用openFileOutput()方法,它写入的内部存储文件路径是什么


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

如果你想通过文件名,你应该考虑使用.< /P> 如果要打开一个要写入的文件,请在上下文类上使用openFileOutput()方法,它写入的内部存储文件路径是什么

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

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


在DDMS中,我在以下目录下找到了我的文件:

data > data > your app id > files

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

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

它返回一个
文件
,然后调用
文件#getAbsolutePath()

综上所述:

context.getFileStreamPath(name).getAbsolutePath()

我希望文档清楚地说明位置可以移动,以及使用什么方法查找位置(例如,将getFilesDir()添加到See-allow部分)。非常感谢马克,谢谢你的帮助。@Ollie C:是的,奇怪的是没有交叉参考。在每个页面上都有继承的内容(例如,在每个
上下文
子类Javadoc中都有
openFileOutput()
)的缺点之一是搜索会变得更痛苦。@commonware,我是一个新手,这似乎是一个幼稚的问题,但它与此主题相关:当我尝试使用context.openFileOutput(this.fileName,context.MODE_APPEND)将文件保存到外部存储时,该方法不会引发任何异常并正常执行,context.getFilesDir()返回:/data/data/com.proj.myproject/files。但当我检查手机的外部存储器并转到/Data时,它是空的。我也在清单中添加了WRITE_EXTERNAL_存储权限。那么它会在哪里保存文件呢?谢谢你的帮助@powernit:
openFileOutput()
is。您手机的“外部存储器”要么是,要么可能是。这些都不是同一件事。@commonware:谢谢,如果我使用openFileOutput()存储任何东西,那么只有应用程序可以对其进行读写,并且它是该应用程序的私有。所以只有上下文中的应用程序才能看到它。这一见解真的帮助了我。
data>data>你的app id>文件
手机需要根目录才能查看
/data/data
我的数据文件夹总是空的,你知道我遗漏了什么吗?可能是你的手机有多个存储器,现在很多手机都有几GB的内部存储器,称为“sd0”(取决于您的制造商,有些可能会选择另一个名称),同时也允许您插入外部存储,如SD卡(称为“sd1”),在查找应用程序数据之前,您必须选择正确的存储。您的手机需要根目录。否则,数据文件夹将显示为空。