如何将文件保存在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性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...