Android 在内部存储器中创建嵌套文件夹
我目前正在使用内部存储。我想创建多个文件夹,如主文件夹/子文件夹/文件名。 我已经准备了很多教程,我找不到最好的解决方案。。我还收到错误java.io.FileNotFoundException:open失败:EISDIR(是一个目录)。 我的问题是Android 在内部存储器中创建嵌套文件夹,android,storage,internal,Android,Storage,Internal,我目前正在使用内部存储。我想创建多个文件夹,如主文件夹/子文件夹/文件名。 我已经准备了很多教程,我找不到最好的解决方案。。我还收到错误java.io.FileNotFoundException:open失败:EISDIR(是一个目录)。 我的问题是 这个错误是什么?任何人都可以解释这一点 如何在内部存储器中创建文件夹 这样做: 字符串文件夹\u main=“NewFolder” 如果要在其中创建另一个文件夹: File f1 = new File(Environment.getExterna
- 这个错误是什么?任何人都可以解释这一点
- 如何在内部存储器中创建文件夹
- 这样做:
字符串文件夹\u main=“NewFolder”
如果要在其中创建另一个文件夹:
File f1 = new File(Environment.getExternalStorageDirectory() + "/" + folder_main, "product1");
if (!f1.exists()) {
f1.mkdirs();
}
最后我得到了这个
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");
创建嵌套文件夹
//保存内部存储
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");
您正在使用运行时权限吗?后代码打开失败。。。您试图以文件形式打开某个文件,但它是一个目录。。。不言自明,但请显示代码“这是什么错误?”--您正在尝试对目录而不是文件执行某些文件操作。由于您拒绝提供详细信息,我们无法更具体地说明。“如何在内部存储器中创建文件夹”--使用标准Java I/O。在
Context
上使用getFilesDir()
获取您所称的mainFolder/
,并从中创建子目录(例如,File subdir=new File(getFilesDir(),“subFolder”);subdir.mkdirs();
)。除了getFilesDir()
部分之外,这与在其他Java环境中使用目录没有明显区别!我只想创建内部存储,而不是外部存储。