Java PipedReader类

Java PipedReader类用于将管道的内容作为字符流进行读取。该类通常用于读取文本。

PipedReader类必须连接到相同的PipedWriter,并由不同的线程使用。

构造函数

ConstructorDescription
PipedReader(int pipeSize)它创建一个 PipedReader,以便它尚未连接并使用指定的管道大小作为管道缓冲区。
PipedReader(PipedWriter src)它创建一个 PipedReader 以便它连接到管道编写器 src。
PipedReader(PipedWriter src, int pipeSize)它创建一个 PipedReader 以便它连接到管道编写器 src 并使用指定的管道大小作为管道缓冲区。
PipedReader()它创建一个 PipedReader 以便它尚未连接。

方法

Modifier and TypeMethodMethod
voidclose()它关闭此管道流并释放与该流关联的任何系统资源。
voidconnect(PipedWriter src)它会导致此管道读取器连接到管道写入器 src。
intread()它从此管道流中读取数据的下一个字符。
intread(char[] cbuf, int off, int len)它从这个管道流中读取最多 len 个字符的数据到一个字符数组中。
booleanready()它告诉这个流是否准备好被读取。

示例

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

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想