java channel 예제

java channel 예제

Java Nio는 Java 프로그래머가 사용자 지정 네이티브 코드를 사용하지 않고 고속 I/O 작업을 구현할 수 있도록 개발되었습니다. Nio는 충전, 즉 버퍼 를 다시 운영 체제로 드레인하는 것과 같은 시간 소모적인 I/O 활동을 운영 체제로 이동하므로 작동 속도가 향상됩니다. Java Nio 클래스는 java.nio 패키지에 포함되어 있으며 Nio 하위 시스템이 java.io 패키지에서 사용할 수 있는 기존 스트림 기반 I/O 클래스를 대체하지 않는다는 것을 이해하는 것이 중요합니다. 중요한 Nio 클래스는 아래에 표시된 여러 범주로 그룹화되어 있습니다. 바이트는 채널의 현재 파일 위치(처음 0)에서 시작하여 읽은 다음 파일 위치가 실제로 읽은 바이트 수로 업데이트됩니다(예: 위치는 초기 읽기 후 6이 됩니다). 채널의 위치() 메서드는 현재 위치를 반환합니다. 이 자습서에서는 간단한 예제를 사용하여 채널의 기능을 설명하고 개발자가 이 작업을 달성하는 데 필요한 기본 구성을 이해하는 데 도움이 됩니다. 그게 이 튜토리얼의 전부이며,이 기사가 당신이 찾고있던 무엇이든 당신을 제공 바랍니다. 마지막으로, 우리는 우리가 서버에 채널을 통해 전송되는 바이트 버퍼로 전달 하는 모든 문자열을 래핑 읽는 sendMessage 메서드가 있습니다. Java Nio는 다음과 같은 핵심 구성 요소로 구성됩니다: 지금까지 선택기를 만들고 채널을 등록하고 선택기에 채널 등록을 나타내는 SelectionKey 개체의 속성을 검사하는 방법을 살펴보았습니다. 채널이 열려 있거나 닫혀 있습니다. 채널은 생성 시 열리고 닫히면 닫힙히 닫힙됩니다. 채널이 닫히면 I/O 작업을 호출하려고 하면 닫힌 채널예외가 throw됩니다.

채널이 열려 있는지 여부는 isOpen 메서드를 호출하여 테스트할 수 있습니다. 파일 채널의 open() 정적 메서드는 채널을 만드는 데 사용됩니다. 메서드는 파일을 열고 제공 된 파일에 액세스 하는 FileChannel을 반환 합니다. 다음 섹션에서는 파일 채널을 사용하여 파일을 읽고 파일에 쓰는 두 가지 예를 설명합니다. 이 문서에서는 Java NIO의 선택기 구성 요소의 소개 부분을 살펴보겠습니다. 다음은 Java Nio 패키지의 구현으로 제공되는 두 가지 주요 채널 클래스 유형입니다: 채널을 가져오는 것과 마찬가지로 SelectionKey 개체에서 Selector 개체를 가져오는 것은 매우 쉽습니다. , 우리는 채널을 얻고 그것에 설정 우리의 관심에 나타나는 작업을 수행합니다. 이렇게 하면 단일 스레드를 사용하여 여러 채널을 관리하고 따라서 여러 네트워크 연결을 관리할 수 있습니다. Java NIO 라이브러리는 NIO API를 구현합니다. 자바 NIO는 자바 IO를 대체하지 않고 오히려 보완합니다. Java 1.4 이후 Java SE 5, 6 및 7 버전에서 NIO(및 IO)가 향상되었습니다. 채널도 자동 닫을 수 있습니다.

리소스 를 사용하여 채널을 가져오는 경우 채널이 자동으로 닫히므로 채널의 close() 메서드를 명시적으로 호출할 필요가 없습니다.