在android中我们涉及到网络访问以及文件访问时,中m之转换难免需要写String与InputStream之间的相互相互转换的相关代码,实现形式:(或见另一篇相似文章http://blog.itpub.net/28932681/viewspace-2286125/)一:纯手戳代码:
1.String to InputStream
String str = “String与InputStream相互转换”;
InputStream in_nocode = new ByteArrayInputStream(str.getBytes());
2.InputStream to String
方法1:public String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb =newStringBuilder();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包,中m之转换用来转换InputStream到String,相互代码示例如下:
1 // 引入apache的服务器租用中m之转换io包
2 import org.apache.commons.io.IOUtils;
3
4 InputStream in = con.getInputStream();
5 String result = IOUtils.toString(in, “UTF-8”);