25/05/2018, 07:26

Ống dẫn trong Java

Giới thiệu Java hỗ trợ tiên ích ống dẫn thông qua hai lớp java.io.PipedInputStream và java.io.PipedOutputStream. Chúng là hai đầu của một ống dẫn. Trong đó PipedInputStream là đầu đọc dữ liệu và PipedOutputStream là đầu ...

Giới thiệu

Java hỗ trợ tiên ích ống dẫn thông qua hai lớp java.io.PipedInputStream và java.io.PipedOutputStream. Chúng là hai đầu của một ống dẫn. Trong đó PipedInputStream là đầu đọc dữ liệu và PipedOutputStream là đầu ghi dữ liệu của ống dẫn.

PipedInputStream là lớp con của InputStream nên nó có tất cả các thuộc tính của InputStream.

PipedOutputStream là lớp con của OutputStream nên nó có tất cả các thuộc tính của OutputStream

Các cách tạo ống dẫn 

Để tạo một ống dẫn ta chỉ cần tạo ra hai đối tượng thuộc lớp PipedInputStream và PipedOutputStream và nối chúng lại với nhau. Khi đó dữ liệu được ghi vào PipedOutputStream sẽ được đọc ra ở đầu PipedInputStream:

Tạo ống dẫn trong Java

Cách 1

  1. Tạo đầu đọc:
    • PipedInputStream readId = new PipedInputStream();
  2. Tạo đầu ghi:
    • PipedOutputStream writeId = new PipedOutputStream();
  3. Nối đầu đọc với đầu ghi hay ngược lại
    • readId.connect(writeId);
    • // hoặc writeId.connect(readId);  

Cách 2

  1. Tạo đầu đọc:
    • PipedInputStream readId = new PipedInputStream();
  2. Tạo đầu ghi và nối vào đầu đọc đã có:
    • PipedOutputStream writeId = new PipedOutputStream(readId);

Hoặc:  Ta có thể tạo đầu ghi trước rồi tạo đầu đọc sau.

Lưu ý: Các phương thức khởi tạo của PipedInputStream và PipedOutputStream  sử dụng ở trên đòi hỏi phải "bắt" (catch) IOException do chúng có thể “quẳng” ra (throws)..

0