我想在SDCard上使用给定路径自动创建目录,该路径包含文件的完整路径。路径是从服务器动态传递的,所以我不知道这些目录的名称是什么,以及目录结构的深度是多少。
e.g。 DIR1 / DIR2 / DIR3 / FILE1.TXT
我正在使用以下代码
createDirectoryIfNotPresent(Environment.getExternalStorageDirectory() + "/"+ mypaths.getNextPath());
的定义
createDirectoryIfNotPresent
是
private void createDirectoryIfNotPresent(String fileName) {
File f = new File(fileName);
if(!f.exists())
f.mkdirs();
}
但上面的代码也为file1.txt创建了目录。我该如何避免这种情况?我只想为目录名而不是文件名创建目录。
答案 0 :(得分:1)
你可以做一些简单的事情,检查文件名是否包含.txt或其他扩展名
if(f.toString.contains(".txt")) {
f.createNewFile();
} else {
f.mkdirs();
}
如果扩展程序不断变化,您甚至可能会使用正则表达式。