Android - 无法创建目录

时间:2016-10-13 10:19:06

标签: android android-studio save android-file android-external-storage

我正在编写一个通过SFTP连接到远程服务器的应用程序,如果没有SD卡,应该将.cvs文件下载到手机的外部存储器或内部存储器。 SFTP连接工作正常,但我遇到了文件操作。

我目前的问题是,如果我想使用mkdirs()在移动设备上创建一个目录,它就不起作用了。应用程序执行正常,但文件系统没有任何变化。

如果我使用文件管理器手动创建目录,我的应用程序崩溃。

public boolean isExternalStorageWritable() {
        String state = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(state)) {
            return true;
        }
        return false;
    }


public void createdir() throws IOException{
    if (!isExternalStorageWritable()) {
        // No external storage available
        File directory = new File(Environment.getDataDirectory()
                + "/Remote/");

        if (directory.exists()) {                
            File[] dirFiles = directory.listFiles();
            if (dirFiles.length != 0) {
                for (int ii = 0; ii <= dirFiles.length; ii++) {
                    dirFiles[ii].delete();
                }
            }
        }

        if (!directory.exists()) { 
            directory.mkdirs();
        }
    } else {
        // External storage mounted
        File directory = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "Remote");
        if (directory.exists()) {
            File[] dirFiles = directory.listFiles();
            if (dirFiles.length > 0) {
                for (int ii = 0; ii < dirFiles.length; ii++) {
                    dirFiles[ii].delete();
                }
                dirFiles = null;
            }
        }
        if (!directory.exists()) {                
            directory.mkdirs();
        }
    }
}

0 个答案:

没有答案