public static boolean loggingEnabled = "true".equals(System.getProperty("ibex.io.stream.logEnabled", "false"));
- public void transcribe(Stream out) {
+ public void transcribe(Stream out) { transcribe(out, false); }
+ public void transcribe(Stream out, boolean close) {
try {
byte[] buf = new byte[1024];
while(true) {
int numread = in.read(buf, 0, buf.length);
- if (numread==-1) return;
+ if (numread==-1) break;
out.out.write(buf, 0, numread);
}
+ if (close) out.close();
} catch (IOException ioe) { throw new StreamException(ioe); }
}
+ public void transcribe(StringBuffer out) {
+ //try {
+ char[] buf = new char[1024];
+ while(true) {
+ int numread = in.read(buf, 0, buf.length);
+ if (numread==-1) return;
+ out.append(buf, 0, numread);
+ }
+ //} catch (IOException ioe) { throw new StreamException(ioe); }
+ }
+
public static int countLines(Stream s) {
int ret = 0;
while(s.readln() != null) ret++;
try {
blocker.put(Thread.currentThread(), this);
logWrite(s);
+ logWrite(newLine);
out.write(s);
out.write(newLine);
flush();