Apache Commons IO - TeeInputStream
Nó là một proxy InputStream ghi một cách rõ ràng bản sao của tất cả các byte được đọc từ luồng proxy vào một Dòng đầu ra nhất định. Luồng đầu vào proxy bị đóng khi phương thức close () trên proxy này được gọi. Nó có thể được sử dụng để vận hành hai luồng cùng một lúc.
Khai báo lớp học
Sau đây là khai báo cho org.apache.commons.io.input.TeeInputStream Lớp học -
public class TeeInputStream
extends ProxyInputStream
Ví dụ về Lớp TeeInputStream
Trong ví dụ này, việc đóng TeeInputStream sẽ đóng TeeInputStream cũng như các đối tượng TeeOutputStream.
IOTester.java
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.apache.commons.io.input.TeeInputStream;
import org.apache.commons.io.output.TeeOutputStream;
public class IOTester {
private static final String SAMPLE = "Welcome to TutorialsPoint. Simply Easy
Learning.";
public static void main(String[] args) {
try {
usingTeeInputStream();
}catch(IOException e) {
System.out.println(e.getMessage());
}
}
public static void usingTeeInputStream() throws IOException {
TeeInputStream teeInputStream = null;
TeeOutputStream teeOutputStream = null;
try {
ByteArrayInputStream inputStream = new
ByteArrayInputStream(SAMPLE.getBytes("US-ASCII"));
ByteArrayOutputStream outputStream1 = new ByteArrayOutputStream();
ByteArrayOutputStream outputStream2 = new ByteArrayOutputStream();
teeOutputStream = new TeeOutputStream(outputStream1, outputStream2);
teeInputStream = new TeeInputStream(inputStream, teeOutputStream, true);
teeInputStream.read(new byte[SAMPLE.length()]);
System.out.println("Output stream 1: " + outputStream1.toString());
System.out.println("Output stream 2: " + outputStream2.toString());
}catch (IOException e) {
System.out.println(e.getMessage());
} finally {
//teeIn.close() closes teeIn and teeOut which in turn closes the out1 and out2.
try {
teeInputStream.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
}
Đầu ra
Nó sẽ in ra kết quả sau.
Output stream 1: Welcome to TutorialsPoint. Simply Easy Learning.
Output stream 2: Welcome to TutorialsPoint. Simply Easy Learning.