如何将InputStream转换为Java中的字符串?
假设我有一个包含文本数据的InputStream
,并且我想将它转换为一个String
(例如,所以我可以将流的内容写入日志文件)。
采用InputStream
并将其转换为String
的最简单方法是什么?
public String convertStreamToString(InputStream is) {
// ???
}
这是我的版本,
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
}
如果你想简单而可靠地做到这一点,我建议使用Apache Jakarta Commons IO库IOUtils.toString(java.io.InputStream, java.lang.String)
方法。
String text = new Scanner( inputStream).useDelimiter("A").next();
这里更多
链接地址: http://www.djcxy.com/p/78367.html