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

标签