我想在文件目录中的
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 }