बस अपना खुद का रोल करें। बिल्कुल कोई जादू नहीं है। Apache's TeeOutputStream का उपयोग करके आप मूल रूप से नीचे दिए गए कोड का उपयोग करेंगे। बेशक अपाचे कॉमन्स I/O लाइब्रेरी का उपयोग करके आप अन्य कक्षाओं का लाभ उठा सकते हैं, लेकिन कभी-कभी वास्तव में अपने लिए कुछ लिखना अच्छा होता है। :)
public final class TeeOutputStream extends OutputStream {
private final OutputStream out;
private final OutputStream tee;
public TeeOutputStream(OutputStream out, OutputStream tee) {
if (out == null)
throw new NullPointerException();
else if (tee == null)
throw new NullPointerException();
this.out = out;
this.tee = tee;
}
@Override
public void write(int b) throws IOException {
out.write(b);
tee.write(b);
}
@Override
public void write(byte[] b) throws IOException {
out.write(b);
tee.write(b);
}
@Override
public void write(byte[] b, int off, int len) throws IOException {
out.write(b, off, len);
tee.write(b, off, len);
}
@Override
public void flush() throws IOException {
out.flush();
tee.flush();
}
@Override
public void close() throws IOException {
out.close();
tee.close();
}
}
ऊपर वर्ग के साथ निम्न
public static void main(String[] args) throws IOException {
TeeOutputStream out = new TeeOutputStream(System.out, System.out);
out.write("Hello world!".getBytes());
out.flush();
out.close();
}
साथ परीक्षण Hello World!Hello World!
प्रिंट होगा।
(नोट: अधिरोहित close()
यद्यपि कुछ देखभाल इस्तेमाल कर सकते हैं ':) beacause मैं एक ही समस्या का सामना करना पड़ा
स्रोत
2011-11-02 21:35:28
I/O में कुछ भी कभी तुच्छ नहीं है। भले ही ऐसा पहले ऐसा लगता है। –
यह वास्तव में उन सभी को लिखने के सवाल का जवाब नहीं देता है। – Ataraxia
@ZettaSuro "उन सभी पर लूप करने के लिए लेखन विधि लिखें, प्रत्येक को लिखना।" क्या आपको वास्तव में मेरे लिए 'लूप' लिखने की ज़रूरत है? – Kevin