我应该在哪里选择在android中保存文本文件?

时间:2015-06-25 00:48:49

标签: android

我希望将我的数据导出为文本文件并将其保存到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(),普通用户似乎无法访问保存的文本文件,是不是?

1 个答案:

答案 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