一、需求
从http连接中读取byte流,并将其转化为String。
二、实现过程
1.思路
这里有三种方法来承接这些bytes:String、StringBuilder、StringBuffer。
String: immutable,在内存中已经创建便无法修改。
StringBuilder:mutable(可以修改),线程不安全,操作速度快。
StringBuffer:mutable(可以修改),线程安全,操作速度慢。
综上,我们选择StringBuffer来承接这些bytes。但是StringBuffer.append()方法不可以传入byte[]类型的数据,所以我们先使用String(byte[])生成String对象,然后调用StringBuffer.append()方法。
2.实现
private String getImageJson(InputStream in) #从http连接中获取inputstream
{
byte temp[] = new byte[1024];
int count = 0;
StringBuilder json = new StringBuilder();
String imageJson = null;
try {
while((count = (in.read(temp)))!=0)
{
String str = new String(temp,0,count); #生成String
json.append(str); #添加到StringBuilder里
}
imageJson = json.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return imageJson;
}