Java经典I/O操作全解析
1. 管道流的使用
管道流可用于线程间的通信。以下是一个简单的示例,展示了如何使用管道输出流和管道输入流在两个线程间传递随机生成的字节整数序列。
// 示例代码,模拟管道流通信,实际代码可能在其他文件中
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
// 发送任务线程
class SenderTask implements Runnable {
private PipedOutputStream pos;
public SenderTask(PipedOutputStream pos) {
this.pos = pos;
}
@Override
public void run() {
try {
// 模拟发送随机字节整数序列
for (int i = 0; i < 10; i++) {
int randomByte = (int) (Math.random() * 256);
pos.write(randomByte);
}
// 显式关闭管道流
pos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
// 接收任务线程
cl