这是我的Android sdcard上的目录结构
sdcard/alQuranData/Reader1/Surah
这是我制作目录的代码
File SDCardRoot = new File(Environment.getExternalStorageDirectory().toString() + "alQuranData/Reader1/Surah");
Toast.makeText(getApplicationContext(), SDCardRoot.toString(), Toast.LENGTH_LONG).show();
if (!SDCardRoot.exists()) {
Log.d("DIRECTORY CHECK", "Directory doesnt exist creating directory");
SDCardRoot.mkdir();
}
现在我的alQuranData
根目录中已创建sdcard
。如果我只创建Reader1目录而不是它正常工作,但是何时添加Reader1/Surah
而不是它没有创建。
我也试过了mkdirs()
,但它不起作用。
答案 0 :(得分:2)
您是否收到任何错误或异常?请尝试检查mkdirs()
方法调用的返回值。还可以尝试以下代码:
File SDCardRoot = new File(Environment.getExternalStorageDirectory().toString() + "/alQuranData/Reader1/Surah");
Toast.makeText(getApplicationContext(), SDCardRoot.toString(), Toast.LENGTH_LONG).show();
if (!SDCardRoot.exists()) {
Log.d("DIRECTORY CHECK", "Directory doesnt exist creating directory");
SDCardRoot.mkdirs();
}
另请检查您是否在清单文件中添加了以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
我刚刚测试了以下代码,它正在我的最后工作:
File SDCardRoot = new File(Environment.getExternalStorageDirectory()
.toString() + "/alQuranData/Reader1/Surah");
Toast.makeText(getApplicationContext(), SDCardRoot.toString(),
Toast.LENGTH_LONG).show();
if (!SDCardRoot.exists()) {
Log.d("DIRECTORY CHECK",
"Directory doesnt exist creating directory "
+ Environment.getExternalStorageDirectory()
.toString());
boolean outcome = SDCardRoot.mkdirs();
Log.d("DIRECTORY CHECK",
"outcome for " + SDCardRoot.getAbsolutePath() + " "
+ outcome);
}
我已经在你的帖子中手动添加了alQaranData文件夹并添加了权限,它开始在我的工作结束。请检查此代码..
答案 1 :(得分:0)
使用此代码.....)
private void createSdCatalogs(String str1){
//str1 = "/alQuranData"
File folder = new File(Environment.getExternalStorageDirectory() + str1);
boolean success = false;
if (!folder.exists()) {
success = folder.mkdir();
Log.v("Adding line", "/");
}}
private void createSdCatalogs(String str2) {
//str2 = "/alQuranData/Reader1";
File folder1 = new File(Environment.getExternalStorageDirectory() + str2);
boolean success1 = false;
if (!folder1.exists()) {
success1 = folder1.mkdir();
Log.v("Adding line", "/");
}
}
答案 2 :(得分:0)
使用Java,您无法一次创建多个目录。您需要逐个声明文件夹名称并继续创建目录。所以先创建
使用您提供的相同代码。