Open/Close Menu Yapı Taahhüt ve İnş. Tic. Ltd. Şti.

Size Özel Tekliflerimiz?
İletişime Geçin! »

Bizi Arayın:
0216 537 19 46/47

이 문서의 예제에서는 ByteBuffer 및 FileChannel 클래스를 사용합니다. ByteBuffer는 java.nio 패키지 및 java.nio.channels 패키지의 FileChannel에 정의됩니다. 파일을 읽고 데이터를 대상으로 이동하려면 파일을 채널을 통해 버퍼로 읽은 다음 데이터가 버퍼에서 대상으로 이동됩니다. 원본에서 파일에 쓰기 위해 원본 데이터가 버퍼로 이동한 다음 채널을 통해 파일에 기록됩니다. 채널을 가져오는 것과 마찬가지로 SelectionKey 개체에서 Selector 개체를 쉽게 가져올 수 있습니다. 채널은 I/O 전송이 이루어지는 포털이며 버퍼는 이러한 데이터 전송의 소스 또는 대상입니다. 파일 채널의 개체를 만드는 예제를 보자: 채널 I/O 메커니즘에 액세스 하기 위해 자바 NIO에서 제공 하는 게이트웨이 역할을 합니다. 일반적으로 채널은 플랫폼 독립성 운영 기능을 제공하기 위한 운영 체제 파일 설명기와 일대일 관계를 갖습니다. 채널은 I/O 작업을 수행하기 위해 데이터 원본과 Java 프로그램 간의 열린 연결입니다. 선택기는 하나 이상의 NIO 채널을 모니터링하고 하나 이상의 데이터 전송을 사용할 수 있는 시기를 인식하는 메커니즘을 제공합니다. 이것은 자바.nio.channel.FileChannel의 예입니다.

이 메서드는 하나 이상의 채널이 작업에 사용할 준비가 될 때까지 차단합니다. 반환된 정수는 채널이 작업에 사용할 준비가 된 키 수를 나타냅니다. 이 예제에서는 처음에는 파일이 존재하지 않습니다. 위의 코드 조각에 표시된 대로 이 프로그램에 의해 만들어집니다. Java Nio에서는 채널이 입력 출력 전송에 사용됩니다. 채널은 버퍼와 다른 쪽 끝의 엔티티 간에 데이터를 전송하는 튜브와 같습니다. 채널은 엔터티의 데이터를 읽고 소비를 위해 버퍼 블록에 배치합니다. 그런 다음 개발자는 채널을 통해 다른 쪽 끝으로 전송할 수 있도록 버퍼 블록에 데이터를 씁니다. Java NIO에서 채널은 엔터티 버퍼와 바이트 버퍼 간에 데이터를 효율적으로 전송하는 데 사용되는 매체입니다. 엔터티에서 데이터를 읽고 소비를 위해 버퍼 블록 내부에 배치합니다. 이 문서의 예제는 Windows OS 환경에서 컴파일되고 실행됩니다. Java SE 7은 코드를 실행하려면 필요합니다.

예외: 예제에서 FileChannel의 open(), close(), 위치() 및 read() 메서드는 IOException을 throw합니다. 선택 키에 개체를 연결할 수 있습니다. 때때로 우리는 채널에 사용자 정의 ID를 제공하거나 우리가 추적 할 수있는 Java 객체의 종류를 첨부 할 수 있습니다. 개인 생성자에서 서버 채널이 바인딩된 동일한 포트에서 연결을 열고 여전히 동일한 호스트에 있습니다. 태그가 지정된: 코어 자바 8 java.nio.file.Files java.nio.file.Path javao.nio.file.Path nio 파일 채널의 랩() 정적 메서드는 바이트 배열을 버퍼로 래핑합니다. 새 버퍼의 용량 및 제한은 array.length이고 초기 위치는 0이 됩니다. 이제 이클립스 IDE를 열고 Java Nio 채널의 기본 을 살펴보겠습니다. 파일 채널은 읽기/쓰기 채널이며 항상 차단됩니다.

파일을 읽고, 쓰고, 매핑하고, 조작하기 위한 채널입니다. FileChannel 개체는 스레드에서 안전합니다. ByteBuffer에는 위치() 메서드도 있습니다. 처음에는 0입니다. 첫 번째 읽기 후 값은 6입니다. 버퍼의 flip() 메서드는 상대 get 작업의 새 시퀀스에 대 한 버퍼 준비: 현재 위치 (이 예제, 6)에 제한을 설정 하 고 위치를 0으로 설정 합니다. SelectionKey 개체에서 시청 중인 채널에 액세스하는 것은 매우 간단합니다. 우리는 채널 메서드를 호출 : 파일 채널 인스턴스는 파일 경로가있는 FileChannel의 open() 정적 메서드에서 열린 파일 개체 (RandomAccessFile, FileInputStream 또는 FileOutputStream)에서 getChannel() 메서드를 호출하여 얻을 수 있습니다. 제공. 메서드는 기본 파일에 연결된 FileChannel 개체를 반환합니다. 이 문서에서는 채널을 만드는 두 가지 방법이 모두 표시됩니다.