Apache Commons IO - TeeInputStream
Proxy akışından okunan tüm baytların bir kopyasını belirli bir OutputStream'e şeffaf bir şekilde yazan bir InputStream proxy'sidir. Proxy giriş akışı, bu proxy üzerindeki close () yöntemi çağrıldığında kapatılır. Aynı anda iki akışı toplu olarak çalıştırmak için kullanılabilir.
Sınıf Beyanı
Aşağıdaki beyanı org.apache.commons.io.input.TeeInputStream Sınıf -
public class TeeInputStream
extends ProxyInputStream
TeeInputStream Sınıfı Örneği
Bu örnekte, bir TeeInputStream'in kapatılması, TeeInputStream'in yanı sıra TeeOutputStream nesnelerini de kapatır.
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());
}
}
}
}
Çıktı
Aşağıdaki sonucu yazdıracaktır.
Output stream 1: Welcome to TutorialsPoint. Simply Easy Learning.
Output stream 2: Welcome to TutorialsPoint. Simply Easy Learning.