如何在Java中将输入流转换为字符串?
2022-09-01 20:05:26
						假设我有一个包含文本数据的,并且我想将其转换为一个(例如,这样我就可以将流的内容写入日志文件)。InputStreamString
获取并将其转换为 ?InputStreamString
public String convertStreamToString(InputStream is) { 
    // ???
}
假设我有一个包含文本数据的,并且我想将其转换为一个(例如,这样我就可以将流的内容写入日志文件)。InputStreamString
获取并将其转换为 ?InputStreamString
public String convertStreamToString(InputStream is) { 
    // ???
}
如果你想简单可靠地做到这一点,我建议使用Apache Jakarta Commons IO库IOUtils.toString(java.io.InputStream,java.lang.String)方法。
这是我的版本,
public static String readString(InputStream inputStream) throws IOException {
    ByteArrayOutputStream into = new ByteArrayOutputStream();
    byte[] buf = new byte[4096];
    for (int n; 0 < (n = inputStream.read(buf));) {
        into.write(buf, 0, n);
    }
    into.close();
    return new String(into.toByteArray(), "UTF-8"); // Or whatever encoding
}
 
				    		 
				    		 
				    		 
				    		