【问题标题】:How to create dynamic directory structure on SD card in Android?如何在 Android 的 SD 卡上创建动态目录结构?
【发布时间】:2012-09-24 11:08:51
【问题描述】:

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

例如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 创建了目录。我该如何避免这种情况?我只想为目录名而不是文件名创建目录。

【问题讨论】:

  • 如何分割字符串,最后一个/作为分割标记?

标签: android file directory creation


【解决方案1】:

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

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

如果扩展名不断变化,您甚至可以求助于使用正则表达式。

【讨论】:

  • 我什至不知道文件的扩展名。
  • 好的,所以基本上任何文件都必须是格式 name.extension 您可以使用正则表达式来查看输入名称是否匹配。如果是,请创建一个文件,否则转到一个目录。有关正则表达式vogella.com/articles/JavaRegularExpressions/article.html 的更多信息,请参阅此链接
猜你喜欢
  • 2011-01-09
  • 2011-05-14
  • 2016-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-08
相关资源
最近更新 更多