파일 경로에 몇 개의 하위 디렉토리가 있는지 계산하려고 할 때 가장 좋은 방법은 무엇입니까?파일 폴더 내의 중첩 수준 계산
예를 들어, /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보다 작 으면 얼마나 많은 상위 디렉토리가 있는지 상관하지 않습니다. (/a/b/file.txt는 정상입니다)
다른 옵션은 파일 경로 문자열을 가져 와서 파일과 홈 폴더 사이에 "/"가 나타나는 시간을 계산하십시오. 그 방법의 문제는 내가 탈출구/(즉 "/")를 포함하는 파일 이름을 고려할 수 없다는 것입니다.
왜 루프를 사용할 수 없습니까? – CKing