类java.io.PipedReader源码实例Demo

下面列出了怎么用java.io.PipedReader的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: javacore   文件: Piped.java
public static void main(String[] args) throws Exception {
    PipedWriter out = new PipedWriter();
    PipedReader in = new PipedReader();
    // 将输出流和输入流进行连接,否则在使用时会抛出IOException
    out.connect(in);
    Thread printThread = new Thread(new Print(in), "PrintThread");
    printThread.start();
    int receive = 0;
    try {
        while ((receive = System.in.read()) != -1) {
            out.write(receive);
        }
    } finally {
        out.close();
    }
}
 
源代码2 项目: termd   文件: WebsocketTtyTestBase.java
@Override
protected void assertConnect(String term) throws Exception {
  if (endpoint != null) {
    throw failure("Already a session");
  }
  final CountDownLatch latch = new CountDownLatch(1);
  final PipedWriter out = new PipedWriter();
  in = new PipedReader(out);
  endpoint = new Endpoint() {
    @Override
    public void onOpen(Session session, EndpointConfig endpointConfig) {
      session.addMessageHandler(new MessageHandler.Whole<String>() {
        @Override
        public void onMessage(String message) {
          try {
            out.write(message);
          } catch (IOException e) {
            e.printStackTrace();
          }
        }
      });
      latch.countDown();
    }
    @Override
    public void onClose(Session sess, CloseReason closeReason) {
      session = null;
      endpoint = null;
      in = null;
    }
    @Override
    public void onError(Session session, Throwable thr) {
    }
  };
  ClientEndpointConfig clientEndpointConfig = ClientEndpointConfig.Builder.create().build();
  WebSocketContainer webSocketContainer = ContainerProvider.getWebSocketContainer();
  session = webSocketContainer.connectToServer(endpoint, clientEndpointConfig, new URI("http://localhost:8080/ws"));
  latch.await();
}
 
源代码3 项目: openjdk-jdk9   文件: ReaderBulkReadContract.java
private static PipedReader newPipedReader(String contents) {
    try (PipedWriter w = new PipedWriter()) {
        PipedReader r = new PipedReader(w);
        w.write(contents);
        return r;
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }
}
 
源代码4 项目: aesh-readline   文件: WebsocketTtyTestBase.java
@Override
protected void assertConnect(String term) throws Exception {
  if (endpoint != null) {
    throw failure("Already a session");
  }
  CountDownLatch latch = new CountDownLatch(1);
  PipedWriter out = new PipedWriter();
  in = new PipedReader(out);
  endpoint = new Endpoint() {
    @Override
    public void onOpen(Session session, EndpointConfig endpointConfig) {
      session.addMessageHandler(new MessageHandler.Whole<String>() {
        @Override
        public void onMessage(String message) {
          try {
            out.write(message);
          } catch (IOException e) {
            e.printStackTrace();
          }
        }
      });
      latch.countDown();
    }
    @Override
    public void onClose(Session sess, CloseReason closeReason) {
      session = null;
      endpoint = null;
      in = null;
    }
    @Override
    public void onError(Session session, Throwable thr) {
    }
  };
  ClientEndpointConfig clientEndpointConfig = ClientEndpointConfig.Builder.create().build();
  WebSocketContainer webSocketContainer = ContainerProvider.getWebSocketContainer();
  session = webSocketContainer.connectToServer(endpoint, clientEndpointConfig, new URI("http://localhost:8080/ws"));
  latch.await();
}
 
源代码5 项目: termd   文件: WebsocketTtyTestBase.java
@Override
protected void assertConnect(String term) throws Exception {
  if (endpoint != null) {
    throw failure("Already a session");
  }
  CountDownLatch latch = new CountDownLatch(1);
  PipedWriter out = new PipedWriter();
  in = new PipedReader(out);
  endpoint = new Endpoint() {
    @Override
    public void onOpen(Session session, EndpointConfig endpointConfig) {
      session.addMessageHandler(new MessageHandler.Whole<String>() {
        @Override
        public void onMessage(String message) {
          try {
            out.write(message);
          } catch (IOException e) {
            e.printStackTrace();
          }
        }
      });
      latch.countDown();
    }
    @Override
    public void onClose(Session sess, CloseReason closeReason) {
      session = null;
      endpoint = null;
      in = null;
    }
    @Override
    public void onError(Session session, Throwable thr) {
    }
  };
  ClientEndpointConfig clientEndpointConfig = ClientEndpointConfig.Builder.create().build();
  WebSocketContainer webSocketContainer = ContainerProvider.getWebSocketContainer();
  session = webSocketContainer.connectToServer(endpoint, clientEndpointConfig, new URI("http://localhost:8080/ws"));
  latch.await();
}
 
源代码6 项目: j2objc   文件: InterruptedStreamTest.java
private void testInterruptReader(final PipedReader reader) throws Exception {
    Thread thread = interruptMeLater();
    try {
        reader.read();
        fail();
    } catch (InterruptedIOException expected) {
    } finally {
        confirmInterrupted(thread);
    }
}
 
源代码7 项目: j2objc   文件: OldPipedWriterTest.java
public PReader(PipedWriter pw) {
    try {
        pr = new PipedReader(pw);
    } catch (IOException e) {
        System.out.println("Exception setting up reader: "
                + e.toString());
    }
}
 
源代码8 项目: j2objc   文件: OldPipedWriterTest.java
public void test_close() throws Exception {
    PipedReader rd = new PipedReader();
    pw = new PipedWriter(rd);
    reader = new PReader(rd);
    try {
        pw.close();
    } catch (IOException e) {
        fail("Test 1: Unexpected IOException: " + e.getMessage());
    }
}
 
源代码9 项目: netbeans   文件: StreamTerm.java
Pipe(Term term) throws IOException {
    pipedReader = new PipedReader();
    pipedWriter = new PipedWriter(pipedReader);

    term.addInputListener(new TermListener());
}
 
源代码10 项目: javacore   文件: Piped.java
Print(PipedReader in) {
    this.in = in;
}
 
源代码11 项目: hasor   文件: PipedHostTelService.java
public PipedHostTelService(AppContext appContext, Writer outDataWriter) throws IOException {
    super(appContext);
    super.initConstructor(new PipedReader(this.inDataWriter), outDataWriter);
}
 
源代码12 项目: j2objc   文件: InterruptedStreamTest.java
public void testInterruptPipedReader() throws Exception {
    PipedWriter writer = new PipedWriter();
    PipedReader reader = new PipedReader(writer);
    testInterruptReader(reader);
}
 
源代码13 项目: j2objc   文件: InterruptedStreamTest.java
public void testInterruptPipedWriter() throws Exception {
    final PipedWriter writer = new PipedWriter();
    new PipedReader(writer);
    testInterruptWriter(writer);
}
 
源代码14 项目: j2objc   文件: OldPipedWriterTest.java
public PReader(PipedReader pr) {
    this.pr = pr;
}
 
源代码15 项目: gemfirexd-oss   文件: SysinfoAPITest.java
/**
 * Test sysinfo.getInfo()
 *
 * Currently only tests getInfo() by comparing the first line with the
 * expected first line in English. Because so much of sysinfo changes from
 * machine-to-machine, writing a better test may be difficult.
 *
 * Test spawns a separate thread in which to call sysinfo and feed the
 * PipedWriter. Using PipedWriter and PipedReader from the same thread
 * can cause a deadlock.
 */
public void testGetInfo() throws IOException {
    sysinfo_api_helper sah = new sysinfo_api_helper();
    sah.start();
    PipedReader pipeR = new PipedReader(sah.getPipedWriter());
    BufferedReader br = new BufferedReader(pipeR);
    assertEquals("------------------ Java Information ------------------",
                 br.readLine());
    br.close();
    pipeR.close();
}
 
源代码16 项目: gemfirexd-oss   文件: SysinfoAPITest.java
/**
 * Test sysinfo.getInfo()
 *
 * Currently only tests getInfo() by comparing the first line with the
 * expected first line in English. Because so much of sysinfo changes from
 * machine-to-machine, writing a better test may be difficult.
 *
 * Test spawns a separate thread in which to call sysinfo and feed the
 * PipedWriter. Using PipedWriter and PipedReader from the same thread
 * can cause a deadlock.
 */
public void testGetInfo() throws IOException {
    sysinfo_api_helper sah = new sysinfo_api_helper();
    sah.start();
    PipedReader pipeR = new PipedReader(sah.getPipedWriter());
    BufferedReader br = new BufferedReader(pipeR);
    assertEquals("------------------ Java Information ------------------",
                 br.readLine());
    br.close();
    pipeR.close();
}
 
源代码17 项目: rya   文件: RdfFileInputFormat.java
/**
 * Instantiates the RecordReader.
 * @param format    RDF serialization format to parse.
 * @param charBufferSize    Number of input characters to hold in
 *                          memory; if exceeded, wait until the parser
 *                          thread consumes some text before proceeding
 *                          with reading input.
 * @param statementBufferSize   Number of output statements to hold in
 *                              memory; if exceeded, wait until the
 *                              client consumes data before proceeding
 *                              with parsing.
 * @param timeoutSeconds    Number of seconds to wait for the parser
 *                          thread to provide the next statement (or
 *                          state that there are none). If exceeded,
 *                          abort.
 */
RdfFileRecordReader(RDFFormat format, int charBufferSize, int statementBufferSize, int timeoutSeconds) {
    rdfParser = Rio.createParser(format);
    rdfParser.setRDFHandler(this);
    statementCache = new LinkedBlockingQueue<RyaStatementWritable>(statementBufferSize);
    pipeOut = new PipedWriter();
    pipeIn = new PipedReader(charBufferSize);
    this.timeoutSeconds = timeoutSeconds;
    logger.info("Initializing RecordReader with parameters:");
    logger.info("\tRDF serialization format = " + format.getName());
    logger.info("\tinput buffer size = " + charBufferSize + " characters");
    logger.info("\tstatement cache size = " + statementBufferSize);
    logger.info("\tparser timeout = " + timeoutSeconds + " seconds");
}
 
源代码18 项目: spliceengine   文件: SysinfoAPITest.java
/**
 * Test sysinfo.getInfo()
 *
 * Currently only tests getInfo() by comparing the first line with the
 * expected first line in English. Because so much of sysinfo changes from
 * machine-to-machine, writing a better test may be difficult.
 *
 * Test spawns a separate thread in which to call sysinfo and feed the
 * PipedWriter. Using PipedWriter and PipedReader from the same thread
 * can cause a deadlock.
 */
public void testGetInfo() throws IOException {
    sysinfo_api_helper sah = new sysinfo_api_helper();
    sah.start();
    PipedReader pipeR = new PipedReader(sah.getPipedWriter());
    BufferedReader br = new BufferedReader(pipeR);
    assertEquals("------------------ Java Information ------------------",
                 br.readLine());
    br.close();
    pipeR.close();
}
 
 类所在包
 类方法
 同包方法