Ukradłem ten fragment z sieci. Ale wygląda na to, że jest ograniczone do 4096 bajtów i jest dość brzydkie IMO. Ktoś wie o lepszym podejściu? Jestem rzeczywiście przy Groovy btw ...Konwertuj strumień na ciąg 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:
znalazłem lepsze rozwiązanie w Groovy:
InputStream exportTemplateStream = getClass().getClassLoader().getResourceAsStream("export.template")
assert exportTemplateStream: "[export.template stream] resource not found"
String exportTemplate = exportTemplateStream.text
Sprawdziłeś dokumenty, pytając? Przynajmniej możesz wkleić przykład jego użycia. – Anon
Nadal opiekowałem się zapytałem oczywiście, nie widziałem najpierw metody .text. Oto fragment kodu: InputStream exportTemplateStream = getClass(). GetClassLoader().getResourceAsStream ("export.template") assert exportTemplateStream: "Nie znaleziono zasobu [export.template]" String exportTemplate = exportTemplateStream.text –
Wystarczająco. Ale tak jak powiedziałem innym: użyj wariantu, który przyjmuje jawny zestaw znaków - domyślny zestaw znaków rzadko jest tym, czego potrzebujesz. – Anon