github_36883183 2016-11-30 13:42 采纳率: 0%
浏览 1027

管道/过滤器之管道阻塞,java语言/jre1.8.0

import java.io.IOException;
import java.io.PipedReader;
import java.io.PipedWriter;
import java.io.PrintWriter;
import java.util.Scanner;

public class Pipe {
//输入管道
private Scanner pipereader;
//输出管道
private PrintWriter pipewriter;
public Pipe(){
PipedWriter pw = new PipedWriter();
PipedReader pr = new PipedReader();
try{
pw.connect(pr);
} catch (IOException e){
e.getMessage();
}
pipewriter = new PrintWriter(pw);
pipereader = new Scanner(pr);
}
//读入一行数据到管道
//@return 读入的数据
public String readerLine() throws IOException{
if (pipereader.hasNextLine()) {
return pipereader.nextLine();
}
return null;
}
//从管道输出一行数据
public void writerLine(String strline) throws IOException{
pipewriter.println(strline);
}
//将读管道关闭,调用该方法后,不能再从管道中读数据
//如不能关闭则抛出异
public void closeReader() throws IOException{
pipereader.close();
}
//先刷新数据,在将写管道关闭,调用该方法后,不能向管道中写数据
//如不能关闭则抛出异常
public void closeWriter() throws IOException{
pipewriter.flush();
pipewriter.close();
}
}
上面是pipe管道,代码本身能通过编译,能实现对过滤器的连接。但是,一旦数据文本文件中超过165个单词,就会发生管道阻塞,请问哪里出了问题?

  • 写回答

1条回答 默认 最新

  • devmiao 2016-11-30 14:34
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)