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

标签 android file private

我想在我的应用程序的内部存储中保存一张图片,以便将其设为私有(private)。所以我做了一些研究,看到了两种获取目录的方法。

1.与getDir :

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

2.与getFilesDir :

File dir = getFilesDir();

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

写入文件的方式取决于您获取目录的方式?我有点迷茫,因为在 Android 中写入文件的方法有很多。

最佳答案

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

getDir() 使您可以在内部存储器中创建任何文件或目录,其他应用程序也可以根据您创建它的模式访问这些文件或目录。 openFileOutput(String, int) 将无法与 this 的输出一起使用,因此您将不得不使用其他写入和读取文件的方式来处理此目录或文件。这更多用于创建自定义文件,而不是仅由您的应用程序使用的文件。

关于android - Android 上的 getDir 和 getFilesDir 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11781260/

相关文章:

java - 如何使用 Glide 通过字节数组加载图像?

Android webview 4.4 css 100% 不显示任何内容

java - 如何使用Java下载Mapbox PBF文件?

java - 使用java读取JSON文件

android phonegap 下载器插件 2.2

android - 与 ApplicationContext 一起使用充气机时,不应用主题/样式

Python在具有特定扩展名的目录中获取最新文件

c# - 类中私有(private)字段值中的数据有多安全,如何使其更安全?

ssh - DBeaver ssh 隧道无效的私钥

c++ - 成为私有(private)成员(C++ 类)意味着什么?