このスニペットをWebから盗んだ。しかし、それは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();
}
EDIT:
InputStream exportTemplateStream = getClass().getClassLoader().getResourceAsStream("export.template")
assert exportTemplateStream: "[export.template stream] resource not found"
String exportTemplate = exportTemplateStream.text
それでは、あなたは質問した後にドキュメントをチェックしましたか?少なくとも、その使用例を貼り付けることができます。 – Anon
私はもちろん尋ねた後、私は最初に.textメソッドを見ていませんでした。コードスニペットは次のとおりです。InputStream exportTemplateStream = getClass()。getClassLoader()。getResourceAsStream( "export.template") assert exportTemplateStream: "[export.template stream]リソースが見つかりません" 文字列exportTemplate = exportTemplateStream.text –
十分に適切です。しかし、他の人に言ったように、明示的な文字セットを取るバリアントを使用してください。デフォルトの文字セットはほとんどあなたが望むものではありません。 – Anon