android中怎么实现String与InputStream相互转换,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联公司:2013年开创至今为各行业开拓出企业自己的“网站建设”服务,为超过千家公司企业提供了专业的做网站、成都网站建设、网页设计和网站推广服务, 按需网站设计由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。
一:纯手戳代码:
1.String to InputStream
String str = “String与InputStream相互转换”;
//str.getBytes()方法是得到一个操作系统默认的编码格式的字节数组,见
http://blog.itpub.net/28932681/viewspace-2286124/
InputStream in_nocode = new ByteArrayInputStream(str.getBytes());
InputStream in_withcode = new ByteArrayInputStream(str.getBytes(“UTF-8”));
2.InputStream to String
方法1:
public String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder(); String line = null; try { while ((line = reader.readLine()) != null) { sb.append(line + "/n"); //这里的“/n”一定要加上,原因见http://blog.itpub.net/28932681/viewspace-2286126/ } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return sb.toString(); }
方法2:
public String inputStream2String (InputStream in) throws IOException {
StringBuffer out = new StringBuffer();
byte[] b = new byte[4096];
for (int n; (n = in.read(b)) != -1;) {
out.append(new String(b, 0, n));
}
return out.toString();
}
方法3:
public static String inputStream2String(InputStream is) throws IOException{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len=-1;
byte[] buffer=new byte[1024];
while((len=is.read(buffer))!=-1){
baos.write(buffer, 0, len);
}
is.close();
return baos.toString();
//return new String(baos.toByteArray());
}
二:通过第三方jar包实现,推荐一个jar包,用来转换InputStream到String,代码示例如下:
1 // 引入apache的io包
2 import org.apache.commons.io.IOUtils;
3
4 InputStream in = con.getInputStream();
5 String result = IOUtils.toString(in, “UTF-8”);
看完上述内容,你们掌握android中怎么实现String与InputStream相互转换的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
分享标题:android中怎么实现String与InputStream相互转换
本文链接:http://lswzjz.com/article/jpsesp.html