学习 PipedInputStream PipedOutputStream
2015-12-09 09:34
295 查看
博客地址 http://blog.csdn.net/ftx2540993425
PipedOutputStream类 和PipedInputStream 类为管道输出流 和管道输入流。通常都是以PipedOutputStream作为管道的起始端,通常管道输出流和管道输入流通过connect方法连接起来,实现数据从管道输出流 流入 管道输入流中。管道输出流提供管道输入流的所有字节。
PipedOutputStream类介绍:
构造方法:PipedOutputStream();//创建一个尚未连接到管道输入流的管道输出流。
PipedOutputStream(pipedInputStream in);//创建一个连接到该管道输入流的管道输出流。
主要方法。void write(int b);//将指定 byte 写入传送的输出流。
void write(byte[] buf);//将该字符数组写入到管道输出流。
void close();
void connect(PipedInputStream in);使此管道输出流连接到管道输入流 in。
PipedInputStream类介绍:
构造方法:PipedInputStream();//创建一个尚未连接到管道输出流的管道输入流。
PipedInputStream(PipedOutputStream in);//创建一个连接到该管道输出入流的管道输入流。
主要方法:int read(byte[] b,int off,int len);//将最多 len 个数据字节从此管道输入流读入 byte 数组
void connect(PipedOutputStream out);//使此管道输入流连接到管道输出流 out。
简单示例:
Test.class
Input.class
Output.class
博客地址 http://blog.csdn.net/ftx2540993425
PipedOutputStream类 和PipedInputStream 类为管道输出流 和管道输入流。通常都是以PipedOutputStream作为管道的起始端,通常管道输出流和管道输入流通过connect方法连接起来,实现数据从管道输出流 流入 管道输入流中。管道输出流提供管道输入流的所有字节。
PipedOutputStream类介绍:
构造方法:PipedOutputStream();//创建一个尚未连接到管道输入流的管道输出流。
PipedOutputStream(pipedInputStream in);//创建一个连接到该管道输入流的管道输出流。
主要方法。void write(int b);//将指定 byte 写入传送的输出流。
void write(byte[] buf);//将该字符数组写入到管道输出流。
void close();
void connect(PipedInputStream in);使此管道输出流连接到管道输入流 in。
PipedInputStream类介绍:
构造方法:PipedInputStream();//创建一个尚未连接到管道输出流的管道输入流。
PipedInputStream(PipedOutputStream in);//创建一个连接到该管道输出入流的管道输入流。
主要方法:int read(byte[] b,int off,int len);//将最多 len 个数据字节从此管道输入流读入 byte 数组
void connect(PipedOutputStream out);//使此管道输入流连接到管道输出流 out。
简单示例:
Test.class
public class Test { /** * @author FTX * @param args * @throws IOException */ public static void main(String[] args) throws IOException { PipedInputStream in = new PipedInputStream(); PipedOutputStream out = new PipedOutputStream(in); new Thread(new Input(in)).start(); new Thread(new Output(out)).start(); } }
Input.class
class Input implements Runnable{ private PipedInputStream in; public Input(PipedInputStream in) { super(); this.in = in; } @Override public void run() { byte []buf = new byte[1024]; int len; try { len = in.read(buf); String s = new String(buf,0,len); System.out.println("InPut read from Output "+s); in.close(); } catch (IOException e) { e.printStackTrace(); } } }
Output.class
class Output implements Runnable{
private PipedOutputStream out;
public Output(PipedOutputStream out) { super(); this.out = out; } @Override public void run() { try { out.write("管道流。。。。".getBytes()); } catch (IOException e) { e.printStackTrace(); } } }
博客地址 http://blog.csdn.net/ftx2540993425
相关文章推荐
- ThinkPHP 模板中IF的使用
- php中heredoc的使用方法
- 关于PHP动态转静态减轻压力的方法
- php curl扩展
- PHP命名空间(Namespace)的使用详解
- php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项
- NTP时间服务器
- php sql防注入
- 几款主流PHP框架的优缺点评比
- 学习php设计模式 php实现观察者模式(Observer)
- 学习php设计模式 php实现备忘录模式(Memento)
- thinkPHP使用post方式查询时分页失效的解决方法
- php扩展ImageMagick图片库处理扩展
- php扁平树数据递归构建树结构
- CI中site_url()和base_url()的区别
- Lunix php 配置Yii2
- thinkphp 显示BUG错误信息
- php操作sqlite
- PHP __autoload()函数
- php生成PDF文件(FPDF)