PipedInputStream类receive()方法receive()方法在java.io包中可用。
receive()方法用于接收内容的一个字节,当不再有剩余输入时它将阻塞。
receive()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
receive()方法在接收到一个字节数据时可能会引发异常。
IOException:当出现任何输入/输出错误或管道未正确连接或流关闭时,可能引发此异常。
语法:protected void receive(int byt);
参数:int byt –表示要接收的字节。
返回值:
该方法的返回类型为void,不返回任何内容。
示例//Java程序演示示例
//PipedInputStream的receive(int byt)方法的说明
import java.io.*;
public class ReceiveOfPIS extends PipedInputStream {
public static void main(String[] args) throws Exception {
int val = 65;
try {
//实例化ReceiveOfPIS和
//PipedOutputStream-
ReceiveOfPIS pipe_in = new ReceiveOfPIS();
PipedOutputStream pipe_out = new PipedOutputStream();
//通过使用connect()方法是
//将此pipe_in连接到给定的pipe_out-
pipe_in.connect(pipe_out);
for (int i = 0; i
//通过使用write()方法是
//将val写入流pipe_out-
pipe_out.write(val);
val++;
}
for (int i = 1; i
//通过使用receive()方法是
//接收一个字节
pipe_in.receive(val);
System.out.println(i + " " + "Byte Received ");
}
//通过使用close()方法是关闭
//流
pipe_in.close();
pipe_out.close();
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
}
输出结果1 Byte Received
2 Byte Received
3 Byte Received