我正在尝试创建一个文件夹调用"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");
}
答案 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
。