mkdir在android中返回false?

时间:2015-05-27 12:18:38

标签: android tesseract mkdirs

这是我的代码

String DATA_PATH="/mnt/sdcard/";
        String[] paths = new String[] { DATA_PATH, DATA_PATH + "tessdata/" };
        for (String path : paths) {
            File dir = new File(path);
            if (!dir.exists()) {
                if (!dir.mkdirs()) {
                    Log.v("", "ERROR: Creation of directory " + path + " on sdcard failed");        
                } else {

                    Log.v("", "Created directory " + path + " on sdcard");
                }
            }

        }

我尝试过使用Environment.getExternalDirectory()但它仍然返回false。最令人困惑的是它总是说"错误:创建安装在SD卡上的目录失败"在logcat上。如何将路径更改为已安装?有人可以给我一个解决方案吗?

2 个答案:

答案 0 :(得分:1)

如果移动设备已连接到系统,那么我们无法创建文件夹,因此请将其删除并运行应用程序

答案 1 :(得分:0)

为什么你首先使用mkdirs?你应该这样做:

File file = new File(Environment.getExternalStorageDirectory(), "tessdata");
if (!file.exists()) file.mkdir();

另外,请确保清单中有WRITE_EXTERNAL_STORAGE权限。