問題

如果您有一個java.io.InputStream物件,您應該如何處理該物件並生成一個String?


假設我有一個包含文字資料的InputStream,我想將其轉換為String,例如我可以將其寫入日誌檔案.

使用InputStream並將其轉換為String的最簡單方法是什麼?

 public String convertStreamToString(InputStream is) {
    // ???
}
 

  最佳答案

這樣做的一個好方法是使用 Apache commons IOUtilsInputStream複製到StringWriter.....類似的東西

 StringWriter writer = new StringWriter();
IOUtils.copy(inputStream, writer, encoding);
String theString = writer.toString();
 

甚至

 // NB: does not close inputStream, you'll have to use try-with-resources for that
String theString = IOUtils.toString(inputStream, encoding); 
 

或者,如果你不想混合你的Streams和Writers,你可以使用ByteArrayOutputStream

  相同標籤的其他問題

javastringiostreaminputstream