Java PipedReader类简介说明

java-教程王 Java教程 发布时间:2021-11-30 11:15:29 阅读数:10797 1
下文讲述java中PipedReader类简介说明,如下所示:
PipedReader是字符管道输入流,它继承于Writer
PipedReader的功能:
   用于读取对应绑定的管道字符输出流写入其内置字符缓存数组buffer中的字符、借此来实现线程之间的通信
     PipedReader中有两个方法供PipedWriter调用、receive(char c)、receive(char[] b, int off, intlen)
    使得PipedWriter可以将字符或者字符数组写入PipedReader的buffer中
 

PipedReader类的构造函数

PipedReader(PipedWriter src)    使用默认的buf的大小和传入的PipedWriter构造PipedReader 
PipedReader(PipedWriter src, int pipeSize)      使用指定的buf的大小和传入的pw构造PipedReader  
PipedReader()       使用默认大小构造PipedReader
PipedReader(int pipeSize)       使用指定大小构造PipedReader

PipedReader类的关键字

boolean closedByWriter = false;     标记PipedWriter是否关闭  
boolean closedByReader = false;      标记PipedReader是否关闭  
boolean connected = false;           标记PipedWriter与标记PipedReader是否关闭的连接是否关闭  
Thread readSide;     拥有PipedReader的线程  
Thread writeSide;    拥有PipedWriter的线程  
private static final int DEFAULT_PIPE_SIZE = 1024;       用于循环存放PipedWriter写入的字符数组的默认大小  
char buffer[];       用于循环存放PipedWriter写入的字符数组  
int in = -1; buf中下一个存放PipedWriter调用此PipedReader的receive(int c)时、c在buf中存放的位置的下标。此为初始状态、即buf中没有字符  
int out = 0; buf中下一个被读取的字符的下标  

PipedReader类的方法

void close() 清空buf中数据、关闭此流。
void connect(PipedWriter src) 调用与此流绑定的PipedWriter的connect方法、将此流与对应的PipedWriter绑定
synchronized boolean ready() 查看此流是否可读
synchronized int read() 从buf中读取一个字符、以整数形式返回
synchronized int read(char cbuf[], int off, int len) 将buf中读取一部分字符到cbuf中
synchronized void receive(int c) PipedWriter调用此流的此方法、向PipedReader的buf以整数形式中写入一个字符
synchronized void receive(char c[], int off, int len) 将c中一部分字符写入到buf中
synchronized void receivedLast() 提醒所有等待的线程、已经接收到了最后一个字符
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202111/1946.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者