SocketChannel
, FileChannel
등의 클래스를 보면서 개념적 차이를 명확하게 구분하고 싶습니다. Socket
및 파일 I/O 스트림과 비교IO 스트림에서 채널 래퍼 있습니까?
알다시피, I/O 스트림은 순차적으로 액세스해야합니다. 즉, I/O 스트림은 읽기 및 쓰기가 가능한 바이트 시퀀스입니다. Buffered Stream을 사용하여 I/O의 효율성을 높일 수도 있습니다.
그래서 Streams와 비교하여 "채널"은 전혀 새로운 개념입니까, 아니면 Streams의 래퍼입니까?
예, "스트림이 일련의 바이트입니다."그렇다면 두 채널이 다른 경우 해당 의미로 채널이 무엇입니까?
완전히 새로운 것. 따라서 '니오'(또는 '새로운 io'). 입출력 스트림 *은 어느 시점에서 채널에 구현 될 수 있습니다. –
아니요. 불가능합니다. 스트림에는 비 차단 모드가 없습니다. 이들은 비동기식으로 닫을 수 없습니다. 스트림 기입은 카운트를 돌려주지 않습니다. 스트림에는 NIO의 모든 기능을 구현하기에 충분한 기능이 없습니다. – EJP