在android中我们涉及到网络访问以及文件访问时,难免需要写String与InputStream之间的相互转换的相关代码,这里我写了几种方式供参考,主体有两种实现形式:

一:纯手戳代码:

1.String to InputStream

String str = "String与InputStream相互转换";

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");   

            }   

        } 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");

更多相关文章

  1. android 细节收集
  2. 【Android基础知识】选项菜单、上下文菜单、子菜单的使用
  3. CountDownTimer倒计时器的使用
  4. 工欲善其事必先利其器-Android(安卓)Studio技巧与插件(1)
  5. Android(安卓)源代码编后的目录分析
  6. Haisi3716C (海思)源代码 编译并烧写
  7. android 信息(mms)的故事(五)-- 发彩信
  8. 总结 使用PHP作为中间介来实现android链接远程数据库。
  9. Android(安卓)UI之代码动态设置ImageView的宽度和高度

随机推荐

  1. Android操作HTTP实现与服务器通信
  2. android中activity的四种加载模式
  3. 转:android listView 继承ListActivity的
  4. Android深入浅出之Zygote[1]
  5. Android(安卓)SDK安装Android4.0“冰激淋
  6. Android(安卓)快速开发框架:推荐10个框架
  7. Android中解析XML
  8. Android(安卓)中LayoutInflater(布局加载
  9. Android(安卓)DexClassLoader动态加载类
  10. Android(安卓)全景框架了解