Publié le

java nio2 예제

이 예제에서는 각 경로를 문자열 표현에 매핑하고 결과(.txt로 끝나는 파일만)를 필터링하고 인쇄합니다. 스트림은 자동 Closeable을 구현하므로 리소스사용 블록을 사용하여 스트림 작업이 완료된 후 스트림의 close 메서드가 호출되도록 해야 합니다. 목록 2는 2003년 Greg Travis가 만든 프로그램인 다중 포트 네트워킹 에코-어에서 NIO 선택기의 사용을 보여 줍니다(리소스 참조). 유닉스와 유닉스와 같은 운영 체제는 오랫동안 선택기의 효율적인 구현을 가지고 있었기 때문에 이러한 종류의 네트워킹 프로그램은 Java 코딩 네트워킹 프로그램에 적합한 성능의 모델입니다. NIO와 NIO.2가 Java 플랫폼에 기여하는 주요 기여는 Java 응용 프로그램 개발의 핵심 영역 중 하나인 입력/출력 처리에서 성능을 향상시키는 것입니다. 모든 Java I/O 시나리오에 새 입력/출력 API가 필요하지도 않습니다. 그러나 Java NIO 및 NIO.2를 올바르게 사용하면 일반적인 I/O 작업에 필요한 시간을 줄일 수 있습니다. 이것이 NIO와 NIO.2의 초강대국이며, 이 기사에서는 비동기 IO가 비차단 IO와 다릅니다. 비 차단 IO는 OS가 더 많은 데이터를 수집하는 동안 프로그램이 대기없이 사용할 수있는 데이터를 읽을 수 있도록 운영 체제 기능에 따라 달라집니다.

프로그램은 선택기에서 데이터의 가용성을 확인합니다. 비차단 IO는 단일 스레드를 사용합니다. IO차단에서 프로그램은 단일 스레드를 사용하고 OS가 데이터를 읽을 때까지 기다립니다. 선택기 및 비차단 IO에 대한 자세한 내용은 Java NIO 예제를 참조하십시오. 매개 변수 maxDepth에 의해 주어진 검색 디렉터리 수준의 최대 수와 파일 트리의 루트를 나타내는 주어진 경로에서 시작 하는 파일을 검색 합니다. 발생한 각 파일에 대해 지정된 BiPredicate가 호출되고 BiPredicate가 true를 반환하는 경우에만 반환된 스트림에 포함된다. 예: 이 문서에서 소스를 복사할 때주의해야 합니다. 예를 들어, 나열 1의 StandardWatchEventKind 개체는 복수의 철자로 입력됩니다. Java.net 문서조차도 그것을 놓쳤습니다! 지정된 디렉터리의 모든 요소를 스트리밍합니다.