如何在Android缓存目录中存储文件?

时间:2009-10-27 03:50:54

标签: java android mobile

我的目标是将临时文件存储在Context#getCacheDir()返回的目录中。

/data/data/my.app/cache/somedir/foo.json

我认为我可以使用java.io apis在那里写文件。但是我不确定如何设置文件的权限,因为我无法使用Context#MODE_PRIVATE。

Context#openFileOutput和Context#openFileInput的filename参数不能接受带路径分隔符的输入。因此,它们仅对目录中创建的文件有用:

/data/data/my.app

2 个答案:

答案 0 :(得分:6)

默认情况下,Android中的每个应用程序都在其自己的用户帐户下运行,因此您的应用程序创建的文件将无法从任何其他应用程序访问。查看本页顶部的项目符号#3:

http://developer.android.com/guide/topics/fundamentals.html

您还可以通过在模拟器/设备中运行shell并查看ls -l的输出来验证这一点。

答案 1 :(得分:5)

  

但我不确定如何设置   那里的文件权限因为我   无法使用   上下文#MODE_PRIVATE。

AFAIK,默认情况下应该是私密的。