创建文件夹

时间:2018-03-25 11:38:16

标签: java android file directory creation

我正在尝试创建一个文件夹调用"YouDown",此刻我并不关心该文件夹的位置,但此时我想弄清楚的是创建它。我发现我的第一个问题是mkdir()mkdirs()由于不知道它是布尔值而被忽略。我创建了success的布尔值,现在它没有被忽略。在此之后,我创建了检测到创建已存在的每个步骤的log.d。它会将"Doesn't exist""Being Created"注册为"Created""Creation Failed"。它跳转到"Creation Failed"。我现在发现的所有帮助都只是重复我过去几天所读的内容。我也在研究如何将其应用于特定的路径方式,如变量字符串,我希望它在目录Music文件夹中创建

//最快的尝试

String Tag2 = "YouDown"

if (!dir.exists()) {
       Log.d(Tag2,"Doesnt Exist");
       boolean success = false;

       try{
           success = dir.mkdir();
           Log.d(Tag2,"Being Created");

       }
       catch(SecurityException se){
           //handle it
       }
       if(success) {
       Log.d(Tag2, "Created");
       } else{
           Log.d(Tag2, "Creation Failed");
    }
}

//其他尝试

String path = "/sdcard/Music/Youdown"

if(new File(path).exists()){

Log.d(Tag2, "Exists");

} else {

Log.d(Tag2, "Being Created");
Boolean succes = new File(path).mkdir();

if(success){

  Log.d(Tag2, "Created"

 } else {

  Log.d(Tag2, "Failed"
}

最新尝试

File dir = new File(Environment.getExternalStorageDirectory(), path2);
    Boolean A = dir.mkdirs();

    if(A){
        Log.d(Tag2,"Created");
    }
    if(!A){
        Log.d(Tag2,"Failed");
    }

2 个答案:

答案 0 :(得分:1)

如果您只为应用创建目录,那么如果您的应用被删除,该文件夹也会被删除,您可以使用getFilesDir()

File internalDir = getContext().getFilesDir();
String path = "/Music/Youdown";       
// to create it you can call, new File(internalDir, path).mkdir();

或者如果你想要外部存储,你可以使用下面的Environment.getExternalStorage();

String path = "/Music/Youdown";       
File f = new File(Environment.getExternalStorageDirectory(), path );
 if (!f.exists()) {
     f.mkdirs();
 }

答案 1 :(得分:0)

虽然Android有分层文件系统,但您的应用只能在某些地方读写。首先,我建议使用getDir()的{​​{1}}方法。正如文件所述:

  

检索,创建需要的新目录,应用程序可以在其中放置自己的自定义数据文件。您可以使用返回的File对象来创建和访问此目录中的文件。请注意,通过File对象创建的文件只能由您自己的应用程序访问;您只能设置整个目录的模式,而不能设置单个文件的模式。

如果要访问共享目录,则需要调用其他方法,例如android.content.Context