我试图列出资产子目录(包括子子目录)中的所有文件,但是当涉及到识别文件是常规文件还是目录时,我被卡住了。
目录树可以是这样的:
assets/imports
assets/imports/set_one/...(multiple files)
assets/imports/set_two/...(multiple files)
assets/imports/...(other optional files and directories)
到目前为止我尝试过的是:
val IMPORTS_PATH = "imports"
val assetFileNames = context.assets.list(path)!!.asList()
for(file in assetFileNames) {
val subPathString = "$IMPORTS_PATH/$file"
val isDir1 = File(subPathString).isDirectory //always false,
val isFile1 = File(subPathString).isFile //always false, same as above
val subPathObj = Paths.get(subPathString)
val isDir2 = Files.isDirectory(subPathObj) //always false, same as above
我什至尝试读取文件属性但得到 NoSuchFileException 尽管文件确实存在。
是否有一种干净的方法来判断文件是目录还是普通文件?