Android上的getDir和getFilesDir有什么区别?

时间:2012-08-02 15:51:49

标签: android file private

我想在我的应用的内部存储中保存图片,以使其成为私有。所以我做了一些研究,看到了两种获取目录的方法。

1.与getDir

File dir = getDir(Environment.DIRECTORY_PICTURES, Context.MODE_PRIVATE);

2.与getFilesDir

File dir = getFilesDir();

哪个最好?哪个返回内部存储中的位置?

编写文件的方式取决于你获得你的目录的方式?我有点迷失,因为有很多方法可以在Android中编写文件。

1 个答案:

答案 0 :(得分:33)

getFilesDir()将File对象返回到仅对您的应用程序私有的目录。使用openFileOutput(String, int)时,您编写的数据将直接存储在此目录中,任何其他应用程序都无法访问。它包含您的应用程序文件。

getDir()使您可以在内部存储器中创建任何文件或目录,其他应用程序也可以访问该文件或目录,具体取决于您创建它的模式。 openFileOutput(String, int)将无法使用此输出,因此您必须使用其他方式编写和读取文件来处理此目录或文件。这更多地用于创建除应用程序仅使用的文件之外的自定义文件。