Java_String与InputStream相互转换

via: http://blog.csdn.net/hanqunfeng/article/details/4364583

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 i=-1; 

        while((i=is.read())!=-1){ 

        baos.write(i); 

        } 

       return baos.toString(); 

}

猜你喜欢

转载自mikzhang.iteye.com/blog/2212064