未在Android中使用mkdirs()创建的文件夹

时间:2019-06-18 04:01:35

标签: android kotlin android-file

我正在使用mkdirs()方法创建文件夹。在此之前,我还要检查文件夹是否已经存在。如果不是,那么只能创建。它几乎可以在所有设备上正常工作,但是在某些设备上却无法创建。

在创建文件夹之前,我还检查了运行时权限和存储访问框架。它的一切还不错,它不会创建文件夹。下面是创建文件夹的示例路径:

Path: /storage/emulated/0/MyAppFolder/TestFolder

在这里,/storage/emulated/0/是内部存储路径。之后,我使用以下代码创建两个文件夹:

val folder = File(Path)
if (!folder.exists()) {
   if(!folder.mkdirs()){
     Log.e("MyActivity","Folder not created")
   }
}

我也尝试使用以下代码:

val folder = File(Path)
if (!folder.parentFile.exists()) {
   if(!folder.parentFile.mkdirs()){
     Log.e("MyActivity","Folder not created")
   }
}

但仍然无法正常工作。

1 个答案:

答案 0 :(得分:2)

根据getFilesDir() documentation,您永远不应假设采用硬编码的安装或目录路径-与storage directories

之一相比,您应该只使用相对路径