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 < 3; ++i) { //通过使用write()方法是 //将val写入流pipe_out- pipe_out.write(val); val++; } for (int i = 1; i < 4; ++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