String与InputStream的互相转换

String to InputStream

InputStream String2InputStream(String str){
    ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());
    return stream;
}

InputStream to String

方法一:
public static String inputStream2String(InputStream in_st){
    BufferedReader in = new BufferedReader(new InputStreamReader(in_st));
    StringBuffer buffer = new StringBuffer();
    String line = "";
    while ((line = in.readLine()) != null){
      buffer.append(line);
    }
    return buffer.toString();
}

方法二:
public static String convertStreamToString(InputStream is) {      
        /*  
          * To convert the InputStream to String we use the BufferedReader.readLine()  
          * method. We iterate until the BufferedReader return null which means  
          * there's no more data to read. Each line will appended to a StringBuilder  
          * and returned as String.  
          */     
         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();      
     }

方法三:引入IO包
// 引入apache的io包
import org.apache.commons.io.IOUtils;
 
InputStream in = con.getInputStream();
String result = IOUtils.toString(in, "UTF-8");



你可能感兴趣的:(Java)