我将这段代码从网络上偷走。但它看起来被限制为4096字节,并且是相当丑陋的IMO。任何人都知道更好的方法?实际上,我使用Groovy顺便说一句...将流转换为字符串Java/Groovy
String streamToString(InputStream input) {
StringBuffer out = new StringBuffer();
byte[] b = new byte[4096];
for (int n; (n = input.read(b)) != -1;) {
out.append(new String(b, 0, n));
}
return out.toString();
}
编辑:
我发现在Groovy一个更好的解决方案:
InputStream exportTemplateStream = getClass().getClassLoader().getResourceAsStream("export.template")
assert exportTemplateStream: "[export.template stream] resource not found"
String exportTemplate = exportTemplateStream.text
所以你检查了文档_after_问?至少你可以粘贴一个使用例子。 – Anon 2011-04-29 21:00:09
我继续照顾我当然问起,我一开始没有看到.text方法。这里是代码片段:InputStream exportTemplateStream = getClass()。getClassLoader()。getResourceAsStream(“export.template”) assert exportTemplateStream:“[export.template stream] resource not found” String exportTemplate = exportTemplateStream.text – 2011-04-30 21:53:21
不够公平。但正如我对其他人所说的:使用带有明确字符集的变体 - 默认字符集很少是您想要的。 – Anon 2011-04-30 22:43:55