将嵌套文件夹创建到内部存储

时间:2017-04-17 13:34:47

标签: android storage internal

我目前正在使用内部存储。我想创建多个文件夹,例如 mainFolder / subFolder / fileName。

我已经准备了很多教程,但我找不到最好的解决方案..而且我也收到错误 java.io.FileNotFoundException:open failed:EISDIR(是一个目录)。

我的查询是

  • 这是什么错误? 任何人都可以解释这个
  • 如何在内部存储中创建文件夹。

2 个答案:

答案 0 :(得分:2)

  

最后我得到了这个

创建嵌套文件夹

//保存内部存储空间

File myMainDir = context.getDir("MainFolder", Context.MODE_PRIVATE);

File mySubjectDir = new File(myMainDir, "subFolder");
mySubjectDir.mkdir();

File myModuleDir = new File(mySubjectDir, "semiSubFolder");
myModuleDir.mkdir();

File myFinalDir = new File(mySubjectDir, "fileName.mp4");

// Save External Storage

String DNAME = "MainFolder"+"/"+subFolder+"/"+semiSubFolder;
File rootPath = new File(Environment.getExternalStorageDirectory().toString(), DNAME);
if(!rootPath.exists()) {
    rootPath.mkdirs();
}

if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
    Log.v("Cannot use storage","Cannot use storage");
}

File myFinalDir = new File(rootPath,"fileName.mp4");

答案 1 :(得分:0)

这样做:

String folder_main =“NewFolder”;

File f = new File(Environment.getExternalStorageDirectory(), folder_main);
if (!f.exists()) {
    f.mkdirs();
}

如果你想创建另一个文件夹:

File f1 = new File(Environment.getExternalStorageDirectory() + "/" + folder_main, "product1");
if (!f1.exists()) {
    f1.mkdirs();
}