Convertir le flux en chaîne Java / Groovy

J'ai volé cet extrait sur le web. Mais il semble être limité à 4096 octets et est assez moche de l'OMI. Quelqu'un sait d'une meilleure approche? Je suis en fait l'utilisation de Groovy btw...

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:

J'ai trouvé une meilleure solution dans Groovy:

InputStream exportTemplateStream = getClass().getClassLoader().getResourceAsStream("export.template")
assert exportTemplateStream: "[export.template stream] resource not found"
String exportTemplate = exportTemplateStream.text

source d'informationauteur phil swenson | 2011-04-29