String与InputStream相互转换

来源:互联网 发布:傲飞数据整合平台下载 编辑:程序博客网 时间:2024/05/16 10:34

1.String to InputStream

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

InputStream   in   =   new   ByteArrayInputStream(str.getBytes());   


InputStream   in   =   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   i=-1; 
        while((i=is.read())!=-1){ 
        baos.write(i); 
        } 
       return   baos.toString(); 
}

0 0
原创粉丝点击