如何将文件保存在Android 4.1.2上的外部存储器公共目录DOCUMENTS中

前端之家收集整理的这篇文章主要介绍了如何将文件保存在Android 4.1.2上的外部存储器公共目录DOCUMENTS中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在文件目录中的 Android 4.1.2智能手机上保存文件.

代码段:

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS),"test.txt");

抛出这个异常:

E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NoSuchFieldError: android.os.Environment.DIRECTORY_DOCUMENTS

虽然这个工作:

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),"test.txt");

但是我想将我的文件保存在我的文档目录中,而不是下载. Ive阅读DIRECTORY_DOCUMENTS仅适用于Android 4.4及更高版本.但是我的智能手机还有一个文件导向.那么,是否没有解决方案将其保存在文档中?

Thx为答案

卵石

解决方法

您无法访问DIRECTORY_DOCUMENTS,因为它不在Android 4.1.2中.这意味着,尽管外部存储中有一个Documents目录,但它并不是由DIRECTORY_DOCUMENTS指向的(因为它不存在).要解决这个问题,您必须创建目录,如果它不存在,并手动获取文件夹的路径.
File docsFolder = new File(Environment.getExternalStorageDirectory() + "/Documents");
boolean isPresent = true;
if (!docsFolder.exists()) {
    isPresent = docsFolder.mkdir();
}
if (isPresent) {
    File file = new File(docsFolder.getAbsolutePath(),"test.txt"); 
} else {
    // Failure
}

猜你在找的Android相关文章