【发布时间】:2017-07-08 13:32:45
【问题描述】:
当试图计算文件路径中有多少子目录时,最好的方法是什么?
例如,我想检查 /a/b/c/d/file.txt 中的 file.txt 与根文件夹之间只有 3 个子目录。有没有我没听说过的方法?
目前我正在使用一种方法来计算 file.txt 中有多少父目录,方法类似于:
boolean lessThan3Subdirectories(File textFile){
File homeFile = new File (/a);
if (textFile.getParent()
.getParentFile()
.getParentFile()
.getParentFile()
!= homeFile){
return false;
} else {
return true;
}
我对这种方法的问题是它被硬编码为检查 3 并且总是 3 但我实际上并不关心只要它小于 3 就需要多少父目录。(/a/b /file.txt 就可以了)
我的另一个选择是只获取文件路径字符串并计算文件和主文件夹之间出现“/”的次数。但是,该方法的问题是我无法解释包含转义 / 的文件名(即“/”)
【问题讨论】:
-
为什么不能使用循环?
标签: java file nested filepath subdirectory