Files.walk()
이 글에서는 디렉토리 검색에 필요한 Files.walk API에 대해서 알아보도록 하겠다.
Web Application을 개발하다보면 파일이나 디렉토리에 대한 검색, 이동, 삭제 등의 처리를 해야 할 경우가 있다. 이 때, 유용하게 사용할 수 있는 API가 바로 Files.walk 이다. 이제부터 이 API의 사용법을 알아보도록 하겠다.
Files.walk(Path)는 기본적으로 하위의 모든 개체를 탐색하며, Files.walk(Path, depth)는 depth 깊이만큼 만 탐색한다. Files.walk는 Stream을 반환하기 때문에 filter, map 등을 사용하여 원하는 데이터를 추출하고, collect 하면 된다.
List<Path> dirList = Files.walk(Paths.get(folderPath), 2)
.filter(Files::isDirectory)
.collect(Collectors.toList());
위 예제는 대상 폴더 바로 하위에 있는 폴더까지 Path리스트를 가져오는 코드이다.
댓글남기기