如何在Android中创建SD卡上的动态目录结构?

如何在Android中创建SD卡上的动态目录结构?,android,file,directory,creation,Android,File,Directory,Creation,我想用包含文件完整路径的给定路径在SD卡上自动创建目录。路径是动态地来自服务器的,所以我不知道目录的名称是什么,目录结构有多深 e、 g.dir1/dir2/dir3/file1.txt 我正在使用下面的代码 createDirectoryIfNotPresent(Environment.getExternalStorageDirectory() + "/"+ mypaths.getNextPath()); 定义在哪里 createDirectoryIfNotPresent 是 但是上面的代

我想用包含文件完整路径的给定路径在SD卡上自动创建目录。路径是动态地来自服务器的,所以我不知道目录的名称是什么,目录结构有多深

e、 g.dir1/dir2/dir3/file1.txt

我正在使用下面的代码

createDirectoryIfNotPresent(Environment.getExternalStorageDirectory() + "/"+ mypaths.getNextPath());
定义在哪里

createDirectoryIfNotPresent


但是上面的代码也为file1.txt创建了目录。我如何避免这种情况?我只想为目录名而不是文件名创建目录。

您可以做一些简单的事情,比如检查文件名是否包含.txt或其他扩展名

if(f.toString.contains(".txt")) {
f.createNewFile();
} else {
f.mkdirs();
}

如果扩展名不断变化,您甚至可能会使用正则表达式。

使用最后一个/as拆分标记拆分字符串如何?我甚至不知道文件的扩展名。好的,因此基本上任何文件都必须使用格式名称。扩展名您可以使用正则表达式查看输入名称是否匹配。如果是,请创建一个文件,否则请查找目录。有关正则表达式的更多信息,请参阅此链接
if(f.toString.contains(".txt")) {
f.createNewFile();
} else {
f.mkdirs();
}