Suppose I have an InputStream that contains text data, and I want to convert this to a String (for example, so I can write the contents of the stream to a log file).
What is the easiest way to take the InputStream and convert it to a String?
public String convertStreamToString(InputStream is) {      // ??? } 
                BufferedInputStream bin = new BufferedInputStream(in); int b; while ( ( b = bin. read() ) != -1 ) { char c = (char)b; System.
If you want to do it simply and reliably, I suggest using the Apache Jakarta Commons IO library IOUtils.toString(java.io.InputStream, java.lang.String) method.
This is my version,
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 } 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With