当前位置: 代码迷 >> J2SE >> ,改下程序
  详细解决方案

,改下程序

热度:229   发布时间:2016-04-24 02:22:41.0
求助,改下程序
package test3;
import java.io.*;
public class PipeStreamTest
{
  public static void main(String args[])
  {
  try
  {
  Thread t1=new Sender();
  Thread t2=new Receiver();
  PipedOutputStream out = t1.getOutputStream();
PipedInputStream in = t2.getInputStream();
  out.connect(in);
  t1.start();
  t2.start();
  }
  catch(IOException e)
  {
  System.out.println(e.getMessage());
  }
  }
}
class Sender extends Thread
{
  private PipedOutputStream out=new PipedOutputStream();
  public PipedOutputStream getOutputStream()
  {
  return out;
  }
  public void run()
  {
  String s=new String("hello,receiver ,how are you");
  try
  {
  out.write(s.getBytes());
  out.close();
  }
  catch(IOException e)
  {
  System.out.println(e.getMessage());
  }
  }
}
class Receiver extends Thread
{
  private PipedInputStream in=new PipedInputStream();
  public PipedInputStream getInputStream()
  {
  return in;
  }
  public void run()
  {
  String s=null;
byte [] buf = new byte[1024];
  try
  {
  int len =in.read(buf);
s = new String(buf,0,len);
  System.out.println("the following message comes from sender:\n"+s);
  in.close();
  }
  catch(IOException e)
  {
  System.out.println(e.getMessage());
  }
  }
}
这个程序有语法错误
Exception in thread "main" java.lang.Error: Unresolved compilation problems
The method getOutputStream() is undefined for the type Thread
The method getInputStream() is undefined for the type Thread

at test3.PipeStreamTest.main(PipeStreamTest.java:22)

请问下怎么修改程序呢,首先谢谢了

------解决方案--------------------
Java code
import java.io.*;public class PipeStreamTest {    public static void main(String args[]) {        try {            Sender t1 = new Sender();            Receiver t2 = new Receiver();            PipedOutputStream out = t1.getOutputStream();            PipedInputStream in = t2.getInputStream();            out.connect(in);            t1.start();            t2.start();        } catch (IOException e) {            System.out.println(e.getMessage());        }    }}class Sender extends Thread {    private PipedOutputStream out = new PipedOutputStream();    public PipedOutputStream getOutputStream() {        return out;    }    public void run() {        String s = new String("hello,receiver ,how are you");        try {            out.write(s.getBytes());            out.close();        } catch (IOException e) {            System.out.println(e.getMessage());        }    }}class Receiver extends Thread {    private PipedInputStream in = new PipedInputStream();    public PipedInputStream getInputStream() {        return in;    }    public void run() {        String s = null;        byte[] buf = new byte[1024];        try {            int len = in.read(buf);            s = new String(buf, 0, len);            System.out                    .println("the following message comes from sender:\n" + s);            in.close();        } catch (IOException e) {            System.out.println(e.getMessage());        }    }}
  相关解决方案