摘要:
最近在写一段代码,将本地文件压缩加密后发送到服务器,发送到服务器的类用一个输入流作为参数获取要上传的数据,而压缩类和加密类都是输出流。如何将输出流转换为输入流,最直观的方法是缓存输出流的全部内容到内存或文件中,但是当数据变大的时候,这两种方法显然都不太合适。通过使用管道,可以将一个输出流转换为输入流。管道是一个操作系统功能,由一个循环缓存区构成,用于进程间通信,将一个进程的输出做为另一个进程的输入,Linux命令行脚本大量的用到管道通信,Windows同样也支持管道。.net对管道有封装的类,使用管道,在两个线程间通信,将一个进程的输出传递到另一个进程作为输入,.net中管道类继承自Strea 阅读全文