Java PipedReader
精华
小牛编辑
99浏览
2023-03-14
1 什么是Java PipedReader
PipedReader类用于以字符流的形式读取管道的内容。这个类一般是用来阅读的文本。
PipedReader类必须连接到相同的PipedWriter,并且由不同的线程使用。
2 Java PipedReader的构造方法
构造方法 | 描述 |
---|---|
PipedReader(int pipeSize) | 创建一个PipedReader,以便尚未连接,并使用指定的管道大小作为管道的缓冲区。 |
PipedReader(PipedWriter src) | 创建一个PipedReader,以便将其连接到管道写入器src。 |
PipedReader(PipedWriter src, int pipeSize) | 创建一个PipedReader,以便将其连接到管道编写器src,并将指定的管道大小用于管道的缓冲区。 |
PipedReader() | 创建一个PipedReader,以便尚未连接。 |
3 Java PipedReader的方法
修饰符 | 方法 | 描述 |
---|---|---|
void | close() | 关闭此PipedReader并释放与该流关联的所有系统资源。 |
void | connect(PipedWriter src) | 将使此管道读取器连接到PipedWriter。 |
int | read() | 从此PipedReader中读取数据的下一个字符。 |
int | read(char[] cbuf, int off, int len) | 从此PipedReader中读取最多len个数据字符到一个字符数组中。 |
boolean | ready() | 告诉此流是否已准备好被读取。 |
4 Java PipedReader的例子
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java PipedReader的例子
*/
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