강좌 & 팁
글 수 2,412
2013.02.03 12:33:45 (*.52.177.29)
62529
이번 시간은 디렉토리 목록 나열에 대해 알아보도록 하겠습니다.
NIO2에서는 DirectoryStream인터페이스를 제공합니다.
DirectoryStream은 Iterable을 구현한 인터페이스 입니다.
DirectoryStream접근은 Files.newDirectoryStream()메서드를 통해 수행합니다.
Files.newDirectoryStream()은 디렉토리 패스를 인자로 받아 DirectoryStream<Path>로 반환 해줍니다.
쉽게 말하면 디렉토리 패스를 넘겨주면 파일목록을 반환해주는 기능을 합니다.
아래는 샘플소스입니다.
[샘플 소스]
import java.io.IOException; import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class NioSample2 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Path path = Paths.get("D:/nio2"); System.out.println(path.getFileName()+" 폴더 내용 리스트"); System.out.println("----------------------------------"); DirectoryStream<Path> dir = null; try { dir = Files.newDirectoryStream(path); for (Path file : dir) { System.out.println(file.getFileName()); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (dir != null) { dir.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
[실행 결과]
실행을 시켜보면 당연히 파일 및 디렉토리 목록이 표시됩니다.
당연한 얘기 겠지만, 확장자가 있는것은 파일이고 없는것은 디렉토리 입니다.
디렉토리 내용을 나열하는것도 별로 어렵지 앉죠?
다음 시간은 디렉토리 내용에서 원하는 내용만 나열하는것을 해 보도록 하겠습니다.
감사합니다.