Wednesday, June 19, 2013

NIO - Channels Package

Đại diên cho các kết nói tới thực thể mà có khả năng thực thi các hoạt động I/O như file, socket, định nghĩa ra selector cho phép multiplexed (ghép kênh), non-blocking I/O operations.


  • Channel: một mối quan hệ cho I/O operations
    • ReadableByteChannel: có thể đọc vào một buffer
      • ScatteringByteChannel: có thể đọc vào một trình tự của các buffer.
    • WriteableByteChannel: có thể ghi ra từ một buffer
      • GatheringByteChannel: có thể ghi từ một trình tự của các buffer.
    • ByteChannel: có thể đọc/ghi/ tới/từ một buffer
  • Channels: chứa các phương thức cho channel/stream interoperation

ReadableByteChannel interface định nghĩa một phương thức read mà đọc các byte từ channel vào một buffer, tương tự mới WriteableByteChannel interface định nghĩa một phương thức write mà ghi các byte từ một buffer vào channel. ByteChannel interface thông nhất 2 interface trên cho một trường hợp chung của channel mà có khả nằng vừa đọc và ghi các byte.

ScatteringByteChannel và GatheringByteChannel interface extend từ ReadableByteChannel và WritableByteChannel interface thêm 2 phương thức read, write, mà nhận một trình tự của các buffer thay vì duy nhất một buffer.

Channels class định nghĩa các phương thức static mà hỗ trợ interoperation của các stream class của gói java.io cùng với các channel class của gói đó. Một channel có thể được khởi tạo từ một InputStream hoặc OutputStream và ngược lại. Một Reader có thể được khởi tạo mà sử dụng nhận charset để decode các byte từ một readable byte channel, và ngược lại một Writer có thể được khởi tạo mà sử dụng một charset để encode các character thành các byte và ghi chúng vào một writable channel

No comments:

Post a Comment