Module java.base
Package java.io

Class PipedWriter

java.lang.Object
java.io.Writer
java.io.PipedWriter
所有已实现的接口:
Closeable, Flushable, Appendable, AutoCloseable

public class PipedWriter extends Writer
管道字符输出流。
自 JDK 版本:
1.1
  • Field Summary

    Fields declared in class java.io.Writer

    lock
  • Constructor Summary

    Constructors
    Constructor
    Description
    创建一个尚未连接到管道读取器的管道写入器。
    创建一个连接到指定管道读取器的管道写入器。
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    close()
    关闭此管道输出流并释放与此流相关的任何系统资源。
    void
    将此管道写入器连接到接收器。
    void
    flush()
    刷新此输出流并强制写出任何缓冲的输出字符。
    void
    write(char[] cbuf, int off, int len)
    从指定的字符数组中的偏移量 off 处开始,向此管道输出流写入 len 个字符。
    void
    write(int c)
    将指定的 char 写入管道输出流。

    Methods declared in class java.io.Writer

    append, append, append, nullWriter, write, write, write

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PipedWriter

      public PipedWriter(PipedReader snk) throws IOException
      创建一个连接到指定管道读取器的管道写入器。然后写入此流的数据字符将作为 snk 的输入可用。
      参数:
      snk - 要连接的管道读取器。
      抛出:
      IOException - 如果发生 I/O 错误。
    • PipedWriter

      public PipedWriter()
      创建一个尚未连接到管道读取器的管道写入器。在使用之前,必须将其连接到管道读取器,可以由接收器或发送器连接。
      参见:
  • Method Details

    • connect

      public void connect(PipedReader snk) throws IOException
      将此管道写入器连接到接收器。如果此对象已连接到其他管道读取器,则会抛出 IOException

      如果 snk 是未连接的管道读取器,而 src 是未连接的管道写入器,则可以通过以下调用之一将它们连接:

          src.connect(snk)
      
      或者调用:
          snk.connect(src)
      
      这两个调用具有相同的效果。
      参数:
      snk - 要连接的管道读取器。
      抛出:
      IOException - 如果发生 I/O 错误。
    • write

      public void write(int c) throws IOException
      将指定的 char 写入管道输出流。如果某个线程正在从连接的管道输入流读取数据字符,但该线程不再存活,则会抛出 IOException

      实现了 Writerwrite 方法。

      覆盖:
      write 在类中 Writer
      参数:
      c - 要写入的 char
      抛出:
      IOException - 如果管道是 brokenunconnected、关闭或发生 I/O 错误。
    • write

      public void write(char[] cbuf, int off, int len) throws IOException
      从指定的字符数组中的偏移量 off 处开始,向此管道输出流写入 len 个字符。此方法将阻塞,直到所有字符都写入输出流。如果某个线程正在从连接的管道输入流读取数据字符,但该线程不再存活,则会抛出 IOException
      指定者:
      write 在类中 Writer
      参数:
      cbuf - 数据。
      off - 数据的起始偏移量。
      len - 要写入的字符数。
      抛出:
      IndexOutOfBoundsException - 如果 off 为负、len 为负、或 off + len 为负或大于给定数组的长度
      IOException - 如果管道是 brokenunconnected、关闭或发生 I/O 错误。
    • flush

      public void flush() throws IOException
      刷新此输出流并强制写出任何缓冲的输出字符。这将通知任何等待管道中字符的读取器。
      指定者:
      flush 在接口中 Flushable
      指定者:
      flush 在类中 Writer
      抛出:
      IOException - 如果管道已关闭,或发生 I/O 错误。
    • close

      public void close() throws IOException
      关闭此管道输出流并释放与此流相关的任何系统资源。此流可能不再用于写入字符。
      指定者:
      close 在接口中 AutoCloseable
      指定者:
      close 在接口中 Closeable
      指定者:
      close 在类中 Writer
      抛出:
      IOException - 如果发生 I/O 错误。