Java教程

Java PipedReader

PipedReader类用于以字符流的形式读取管道的内容。此类通常用于读取文本。
PipedReader类必须连接到相同的PipedWriter,并由不同的线程使用。

构造函数

构造函数 说明
PipedReader(int pipeSize) 它将创建PipedReader,使其尚未连接,并使用指定的管道大小作为管道的缓冲区。
PipedReader(PipedWriter src) 它将创建PipedReader,以便将其连接到管道编写器src。
PipedReader(PipedWriter src,int pipeSize) 它将创建PipedReader,以便将其连接到管道编写器src,并将指定的管道大小用于管道的缓冲区。
PipedReader() 它将创建PipedReader,以便尚未连接。

方法

修饰符和类型 方法 方法
void close() 它关闭此管道流并释放与该流关联的所有系统资源。
void connect(PipedWriter src) 这会使此管道读取器连接到管道写入器src。
int read() 它从此管道流中读取数据的下一个字符。
int read(char [] cbuf,int off,int len) 它从此管道流中最多读取len个字符的数据到array个字符中。
boolean ready() 它告诉此流是否已准备好被读取。

示例

import java.io.PipedReader;
import java.io.PipedWriter;
public class PipeReaderExample2 {
    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

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4