Java 在Android中创建多个目录
这是我的Android SD卡上的目录结构Java 在Android中创建多个目录,java,android,Java,Android,这是我的Android SD卡上的目录结构 sdcard/alQuranData/Reader1/Surah 这是我制作目录的代码 File SDCardRoot = new File(Environment.getExternalStorageDirectory().toString() + "alQuranData/Reader1/Surah"); Toast.makeText(getApplicationContext(), SDCardRoot.toS
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();
}
现在,alquranda
已在我的sdcard
根目录中创建。如果我只创建Reader1目录,那么它可以正常工作,但当添加Reader1/Surah
时,它没有创建
我还尝试了mkdirs()
,但它不起作用 使用此代码……)
使用Java不能一次创建多个目录。您需要逐个声明文件夹名称,然后继续创建目录。因此,首先创建
使用您提供的同一段代码。您是否收到任何错误或异常。请尝试检查
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"/>
我已经添加了alQaranData文件夹手动在您的帖子中提到,并添加了权限,它开始在我的工作结束。请检查此代码。谢谢您的帖子,但我将
alQuranData/Reader1/Surah作为参数字符串传递。所以我需要一次创建这个文件夹,如果已经存在,那么跳过并创建下一个folderok,只需将所有字符串参数添加到FolderCreator,它可能是不同的方法。。。然后在每种方法中添加“return”方法,它将返回您创建的结果…您不理解我的问题。我把这个“alQuranData/Reader1/Surah”
整个字符串作为一个参数传递给你,你得到问题的答案了吗?是的,在我的根目录中有sdcard
当你使用上面的代码时会发生什么?当你使用mkdirs()时会发生什么在这段代码中?您是否检查了SDCardRoot文件obj值?它是否与预期的目录结构相同?创建目录后,我在Logcat
中放了一条消息“目录创建成功”
,但当我查看sdcard
时,它没有显示melet us,您能告诉我mkdirs()
的功能吗?mkdirs()创建以抽象路径名命名的目录,包括任何必要但不存在的父目录。请注意,如果此操作失败,它可能已成功创建一些必要的父目录。因此,如果您发出此命令,它可能不会创建结束目录,而是在它之前创建一些不存在的目录。e、 g.如果您提供Alquranda/Reader1/Surah,则可能会创建Alquranda或Reader1(如果不存在)!您好,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);
}