将InputStream/OutputStream转换成string

这里需要用到一个特殊的类ByteArrayOutputStream,利用他,我们可以将输出流在内存中直接转换成String类型。

具体代码如下:

 

首先从输入流中将数据读出来写入ByteArrayOutputStream,然后再将其转换成String.

 

InputStream in = urlconn.getInputStream();//获取输入流

ByteArrayOutputStream bos = new ByteArrayOutputStream();

//读取缓存
byte[] buffer = new byte[2048];
int length = 0;
while((length = in.read(buffer)) != -1) {
	bos.write(buffer, 0, length);//写入输出流
}
in.close();//读取完毕,关闭输入流

// 根据输出流创建字符串对象
new String(bos.toByteArray(), "UTF-8");
//or
//bos.toString("UTF-8");

 

根据同样的原理,我们可以将outputstream直接转换成String对象。

你可能感兴趣的:(OutputStream)