Sorry,Java 不支持命名管道!!

解决方案 »

  1.   

    java中提供管道功能,实现类有两组:
    PipedInputStream和PipedOutputStream
    或者
    PipedReader和PipedWriter利用管道进行 线程间通信。大概如下:
    在主线程中创建PipedReader和PipedWriter的实例,并确定连接关系;
    线程a拥有一个PipedWriter实例的引用(从构造函数传入),可以向writer写入字符;
    线程b拥有一个PipedReader实例的引用(从构造函数传入),可以从reader读取字符;
      

  2.   

    import java.io.*;public class Main{  public static void main(String[] args){  try{
       PipedReader reader = new PipedReader();
       PipedWriter writer = new PipedWriter( reader );
      
       Thread a = new A(writer);
       Thread b = new B(reader);
      
       a.start();
       Thread.sleep(1000);
       b.start();
      }catch(IOException e){
      }catch(InterruptedException e1){
      }  }

    }class A extends Thread {
      PipedWriter writer;
      public A(PipedWriter writer){
       this.writer = writer;
      }
      
      public void run(){
       try{
       writer.write("This is A. Hello world".toCharArray());  
      }catch (IOException e) {}
      }
    }class B extends Thread {
      PipedReader reader;
      public B(PipedReader reader){
       this.reader = reader;
      }
      
      public void run(){
       System.out.println("this is B.");
       try{
       char[] buff = new char[100];
       reader.read(buff,0,100);
       System.out.println(new String(buff));
       }catch(IOException e){}
      }
    }
    例子程序,jdk1.4通过
      

  3.   

    Java中的管道只先于线程间通信,如果要跨进程,就要使用JNI了。
    另外在Java中的进程间通信有以下方法:
    1 Socket
    2 共享内存(1。4版本以上)这个链接有我的例子程序
    http://expert.csdn.net/Expert/topic/2545/2545703.xml?temp=.9242212