lpr-b:copythreadmessanger
no way to compare when less than two revisions
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
— | lpr-b:copythreadmessanger [22/10/2007 alle 14:44 (17 anni fa)] (versione attuale) – creata Marco Danelutto | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | <code java> | ||
+ | package instantMessanger; | ||
+ | import java.io.BufferedReader; | ||
+ | import java.io.IOException; | ||
+ | import java.io.InputStream; | ||
+ | import java.io.InputStreamReader; | ||
+ | import java.io.OutputStream; | ||
+ | import java.io.PrintStream; | ||
+ | import java.net.SocketException; | ||
+ | |||
+ | public class CopyThread extends Thread { | ||
+ | |||
+ | InputStream is = null; | ||
+ | OutputStream os = null; | ||
+ | PrintStream ps = null; | ||
+ | String quale = null; | ||
+ | |||
+ | public CopyThread(InputStream is, OutputStream os, String quale) { | ||
+ | this.is = is; | ||
+ | this.os = os; | ||
+ | this.quale = quale; | ||
+ | } | ||
+ | |||
+ | public CopyThread(InputStream is, PrintStream ps, String quale) { | ||
+ | this.is = is; | ||
+ | this.ps = ps; | ||
+ | this.quale = quale; | ||
+ | } | ||
+ | |||
+ | public void run() { | ||
+ | BufferedReader rdr = new BufferedReader(new InputStreamReader(is)); | ||
+ | if(ps==null) | ||
+ | ps = new PrintStream(os); | ||
+ | String line = null; | ||
+ | do { | ||
+ | try { | ||
+ | line = rdr.readLine(); | ||
+ | if(line!=null && line.equals(" | ||
+ | ps.println(line); | ||
+ | } catch(SocketException e) { | ||
+ | // il canale di output corrispondente è stato chiuso | ||
+ | System.out.println(" | ||
+ | break; | ||
+ | } catch (IOException e) { | ||
+ | e.printStackTrace(); | ||
+ | } | ||
+ | } while(line!=null); | ||
+ | System.out.println(" | ||
+ | ps.close(); | ||
+ | System.out.println(" | ||
+ | return; | ||
+ | |||
+ | } | ||
+ | } | ||
+ | </ |
lpr-b/copythreadmessanger.txt · Ultima modifica: 22/10/2007 alle 14:44 (17 anni fa) da Marco Danelutto