1 package gnu.jemacs.buffer; 2 import java.io.*; 3 import gnu.mapping.*; 4 5 7 8 class InputStreamHandler extends Thread 9 { 10 ProcessMode mode; 11 InputStream in; 12 BufferWriter wr; 13 Reader in_r; 14 char[] buffer; 15 16 public InputStreamHandler(InputStream in, ProcessMode mode) 17 { 18 this.in = in; 19 this.in_r = new InputStreamReader(in); 20 this.wr = new BufferWriter(mode.processMark, true); 21 this.mode = mode; 22 } 23 24 public void run() 25 { 26 try 27 { 28 buffer = new char[512]; 29 for (;;) 30 { 31 int avail = in_r.read(buffer); 32 if (avail <= 0) 33 break; 34 wr.buffer = buffer; 35 wr.count = avail; 36 mode.invoke(wr); 37 } 40 in.close(); 41 } 42 catch (Exception ex) 43 { 44 throw new WrappedException(ex); 45 } 46 } 47 } 48 | Popular Tags |