当前位置: 首页 > 教程 > Java IO流 >

Java PipedWriter

精华
小牛编辑
98浏览
2023-03-14

1 什么是Java PipedWriter

PipedWriter类用于将Java管道作为字符流编写。此类通常用于编写文本。通常,PipedWriter连接到PipedReader,并由不同的线程使用。

2 Java PipedWriter的构造方法

构造方法 描述
PipedWriter() 创建尚未连接到PipedReader的PipedWriter。
PipedWriter(PipedReader snk) 创建一个连接到指定PipedReader的PipedWriter。

3 Java PipedWriter的方法

修饰符 方法 描述
void close() 关闭此PipedWriter并释放与此流关联的所有系统资源。
void connect(PipedReader snk) 将这个PipedWriter连接到接收器。
void flush() 刷新此输出流,并强制写出所有缓冲的输出字符。
void write(char[] cbuf, int off, int len) 将从指定的字符数组开始的len个字符从偏移量开始写入此PipedWriter。
void write(int c) 将指定的char写入PipedWriter。

4 Java PipedWriter的例子

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */
/**
 *  Java PipedWriter的例子
 */
import java.io.PipedReader;
import java.io.PipedWriter;

public class Demo {

    public static void main(String[] args) {
        try {

            final PipedReader read = new PipedReader();
            final PipedWriter write = new PipedWriter(read);

            Thread readerThread = new Thread(new Runnable() {
                public void run() {
                    try {
                        int data = read.read();
                        while (data != -1) {
                            System.out.print((char) data);
                            data = read.read();
                        }
                    } catch (Exception ex) {
                    }
                }
            });

            Thread writerThread = new Thread(new Runnable() {
                public void run() {
                    try {
                        write.write("I love my country\n".toCharArray());
                    } catch (Exception ex) {
                    }
                }
            });

            readerThread.start();
            writerThread.start();

        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }

    }
}

输出结果为:

I love my country