X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fio%2FStream.java;h=0d6c169915cbccbe886c1f792325d10e7958d07e;hb=3b2ea827949a6b21b360f43dc829e34650d9c203;hp=19363b043f8c6244fd0f4f5dee24ccd178d4e00b;hpb=229e1d6333835aa449e9390a0175f0f89ce014b0;p=org.ibex.io.git diff --git a/src/org/ibex/io/Stream.java b/src/org/ibex/io/Stream.java index 19363b0..0d6c169 100644 --- a/src/org/ibex/io/Stream.java +++ b/src/org/ibex/io/Stream.java @@ -27,17 +27,30 @@ public class Stream { 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++; @@ -114,6 +127,7 @@ public class Stream { try { blocker.put(Thread.currentThread(), this); logWrite(s); + logWrite(newLine); out.write(s); out.write(newLine); flush();