六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 44|回复: 0

OutputStream转InputStream

[复制链接]

升级  22%

19

主题

19

主题

19

主题

秀才

Rank: 2

积分
83
 楼主| 发表于 2013-1-15 02:47:57 | 显示全部楼层 |阅读模式
最近做的东西比较杂,所以把用到的工具一个一个的贴上来留作保存。
这个是输出流转成一个输入流的,在我这里发生的场景是,先把文件打包成输出流,然后ftp上传,需要输入流,不想再生成一个中间的文件,所以需要os 转 is。
最先想到的就是 ByteArrayOutputstream转化成byte数组然后构造一个ByteArrayInputStream的,但是感觉不是很好,如果文件过大,不知道会不会内存溢出,我没试过,所以放弃了这个想法。
ByteArrayOutputStream out = new ByteArrayOutputStream();new ByteArrayInputStream(out.toByteArray()) 后来查资料才想起来基本没怎么用过的Piped流,不过这个需要开启一个线程等待输出流完成。
  PipedInputStream in = new PipedInputStream();  PipedOUtputStream out = new PipedOutputStream(in);  new Thread(      public void run(){        class1.putDataOnOutputStream(out);    }  ).start();  class2.processDataFromInputStream(in);
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表