谁能告诉我之间的差异file.mkdir()
和file.mkdirs()?
当我启动我的Android应用程序时,我需要在SD卡上创建一个目录,对于少数用户而言这是失败的,我无法弄清楚它的原因......
(我发现WRITE_EXTERNAL_STORAGE权限丢失导致类似的问题,它就在那里,它适用于几乎所有用户,所以我认为这不是原因)
我已经简化了以前的情况,以便更容易解释,如果创建一个directoy失败,我运行一个测试用例,我尝试在sdcard上创建一个.test目录:
new File(Environment.getExternalStorageDirectory(), ".test").mkdir() -> false
new File(Environment.getExternalStorageDirectory(), ".test").mkdirs() -> false
Run Code Online (Sandbox Code Playgroud)
相关目录的文件属性:
/sdcard/.test(exists = false canWrite = false canRead = false canExecute = err isDirectory = false isFile = false)
/ sdcard(exists = true canWrite = true canRead = true canExecute = err isDirectory = true isFile = false)
/(exists = true canWrite = false canRead = true canExecute = err isDirectory = true isFile = false)
getExternalStorageState =装
(canExecute返回错误,因为测试是在sdk <9上运行的)
建议和想法非常受欢迎......