如果您有一個java.io.InputStream
物件,您應該如何處理該物件並生成一個String
?
假設我有一個包含文字資料的InputStream
,我想將其轉換為String
,例如我可以將其寫入日誌檔案.
使用InputStream
並將其轉換為String
的最簡單方法是什麼?
public String convertStreamToString(InputStream is) {
// ???
}
如果您有一個java.io.InputStream
物件,您應該如何處理該物件並生成一個String
?
假設我有一個包含文字資料的InputStream
,我想將其轉換為String
,例如我可以將其寫入日誌檔案.
使用InputStream
並將其轉換為String
的最簡單方法是什麼?
public String convertStreamToString(InputStream is) {
// ???
}
這樣做的一個好方法是使用 Apache commons IOUtils
將InputStream
複製到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