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()); } }}