2010-05-08 10:00 InputStream,String,File相互转化

http://hi.baidu.com/fenglei0213/item/ecae7f3b7feb39c7382ffa8a

InputStream,String,File相互转化

已有 1615 次阅读2012-2-8 11:41 |个人分类:IO

1. String --> InputStream
InputStream String2InputStream(String str){
   ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());
   return stream;
}

2. InputStream --> String
String inputStream2String(InputStream is){
   BufferedReader in = new BufferedReader(new InputStreamReader(is));
   StringBuffer buffer = new StringBuffer();
   String line = "";
   while ((line = in.readLine()) != null){
     buffer.append(line);
   }
   return buffer.toString();
}


3、File --> InputStream
InputStream in = new InputStream(new FileInputStream(File));

上面这行报错,new InputStream 报错

下面这样写即可

new FileInputStream(file)

4、InputStream --> File
public void inputstreamtofile(InputStream ins,File file){
OutputStream os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
ins.close();
}

经典文章

http://liusnowc.blog.163.com/blog/static/357870892011110102240662/

1、字符串转inputStream

   //字符串转inputStream
   InputStream is =new ByteArrayInputStream(ins.getBytes());
   //InputStream转字符串
   byte[] b = new byte[ins.getBytes().length];
   is.read(b);
   System.out.println(new String(b));
   System.out.println("ok");
   is.close();
String string;
//......
InputStream is = new ByteArrayInputStream(string.getBytes());  
2、InputStream转字符串

ByteArrayOutputStream baos = new ByteArrayOutputStream();int i;while ((i = is.read()) != -1) { baos.write(i);}String str = baos.toString();System.out.println(str);  
3、String写入OutputStream

OutputStream os = System.out;os.write(string.getBytes());  
4、OutputStream写入String 

这听起来有点荒谬,OutputStream本来就是输出源,还写入String?

不过最近项目里确实遇到了个类似的问题,比如 SOAPMessage.writeTo(OutputStream os) 这个方法,是将SOAPMessage的内容写到一个输出流中,而我想得到这个流的内容,总不能把他先写进文件再去读这个文件吧,研究了好半天,终于想起可以如下这般:

ByteArrayOutputStream baos = new ByteArrayOutputStream();//向OutPutStream中写入,如 message.writeTo(baos);String str = baos.toString(); 

快速检查 OutputStream 是否正常

OutputStream.print("Hello World");


转自 http://hi.baidu.com/fenglei0213/blog/item/fa47e7114516d6caa6ef3fc4.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值