Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java App-won';不要创建新目录_Java_Android_File Io - Fatal编程技术网

Java App-won';不要创建新目录

Java App-won';不要创建新目录,java,android,file-io,Java,Android,File Io,我正在制作一个录音应用程序。应用程序应该记录文件并将其保存在外部存储目录中。这就是我试图做到的: 声明几个全局变量: String externalStoragePath = Environment.getExternalStorageDirectory().getAbsolutePath(); String outputPath = externalStoragePath + "/Android/data/com.whizzappseasyvoicenotepad/no_name.mp3";

我正在制作一个录音应用程序。应用程序应该记录文件并将其保存在外部存储目录中。这就是我试图做到的:

声明几个全局变量:

String externalStoragePath = Environment.getExternalStorageDirectory().getAbsolutePath();
String outputPath = externalStoragePath + "/Android/data/com.whizzappseasyvoicenotepad/no_name.mp3"; //output path for mp3 files
File appDirectory = new File(externalStoragePath + "/Android/data/com.whizzappseasyvoicenotepad"); //this is the directory I want to create when app is started for the first time
onCreate中很少有日志用于检查externalStorage是否正常工作:

Log.i("TAG", "External storage directory: " + externalStoragePath);
Log.i("TAG", "External storage state: " + Environment.getExternalStorageState());
日志显示外部存储完全正常(存储/模拟/0),状态已装入

然后,如果该目录尚不存在,我将尝试创建该目录:

if (!appDirectory.exists())
    {
        try {
            appDirectory.createNewFile();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

我知道,如果设备通过USB电缆连接到PC,外部存储无法正常工作,因此我从USB中取出设备并运行应用程序,但文件夹的创建并没有达到应有的效果。基本上什么也没有发生。

包括android.permission。在android清单中写入外部存储权限。

您需要使用mkdir()而不是createNewFile():

还需要在AndroidManifest.xml中设置权限:

 android.permission.WRITE_EXTERNAL_STORAGE

以下是我创建目录时使用的示例代码:

File dir = new File(Environment.getExternalStorageDirectory() + "/myFoler");
        if(!(dir.exists() && dir.isDirectory())){
            dir.mkdir();
        }
请不要忘记
清单
文件中的
写入外部存储
权限

使用appDirectory.mkdir()而不是appDirectory.createNewFile()请尝试告诉我。
File dir = new File(Environment.getExternalStorageDirectory() + "/myFoler");
        if(!(dir.exists() && dir.isDirectory())){
            dir.mkdir();
        }