import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.Pipe;
public class Fp {
public static void main(String[] args) throws IOException {
Pipe lyy_pipe = Pipe.open();
final Pipe.SinkChannel lyy_psic = lyy_pipe.sink();
final Pipe.SourceChannel lyy_psoc = lyy_pipe.source();
Thread tPwriter = new Thread() {
public void run() {
try {
// 创建一个线程,利用管道的写入口Pipe.SinkChannel类型的psic往管道里写入指定ByteBuffer的内容
lyy_psic.write(ByteBuffer.wrap("Hello,Pipe!".getBytes("utf-16BE")));
}
catch (IOException e) {
e.printStackTrace();
}
}
};
Thread tPreader = new Thread() {
public void run() {
int lyy_bbufferSize = 1024 * 2;
ByteBuffer lyy_bbuffer = ByteBuffer.allocate(lyy_bbufferSize);
try {
// 创建一个线程,利用管道的读入口Pipe.SourceChannel类型的psoc将管道里内容读到指定的ByteBuffer中
lyy_psoc.read(lyy_bbuffer);
lyy_bbuffer.rewind();
System.out.println("Content:" + lyy_bbuffer.asCharBuffer());
}
catch (IOException e) {
e.printStackTrace();
}
}
};
tPwriter.start();
tPreader.start();
}
}
运行结果:
版权声明:本文为LY_624原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。