我希望将我的数据导出为文本文件并将其保存到Android中的磁盘,因此我需要选择将文件保存到的文件夹。
我希望普通用户可以轻松找到该文件夹,并且该应用不需要特殊权限即可创建该文件夹。
我已阅读了一些文档,似乎有三种方式:Context.getFilesDir().getAbsolutePath()
,Environment.getExternalStorageDirectory().getAbsolutePath()
和Context.getExternalFilesDir(null)
。
您知道有些Android用户没有安装SD卡,因此似乎排除了Environment.getExternalStorageDirectory().getAbsolutePath()
和Context.getExternalFilesDir(null)
。
我只能选择Context.getFilesDir().getAbsolutePath()
吗?或者,还有更好的方法?谢谢!
BTW,来自文件Android - Where to save text files to?
将其保存在内部手机存储空间中,此处没有用户和应用程序可以访问这些文件(除非手机已植根)。但是这些文件将被删除,用户从设置中选择清除数据 - >应用 - > 的
如果我使用Context.getFilesDir()。getAbsolutePath(),普通用户似乎无法访问保存的文本文件,是不是?
答案 0 :(得分:0)
如果您想要一个用户可以修改并且可以访问的路径
,请使用此选项getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS).getAbsolutePath();
更多文档here。
编辑:
这是如何使用某些设备中的错误:
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
String fname = "TEXT.txt";
File file = new File(path, fname);
if (!path.exists()) {
//noinspection ResultOfMethodCallIgnored
path.mkdir();
}
// YOUR CODE FOR COPY OR CREATE THE FILE TXT in PATH WITH THE VARIABLE file ABOVE