How do I get the content of an InputStream as a String?
Date: 2010-09-16. Category: commons.io examples. Hits: 6K time(s).
We can use the code below to convert the content of an InputStream into a String. At first we use FileInputStream create to a connection to a file that going to be read. IOUtils.toString(InputStream input, String encoding) method gets the content of the InputStream and returns a string representation of it. In the end we need to close the InputStream in a finally block.
package org.kodejava.example.commons.io;
import org.apache.commons.io.IOUtils;
import java.io.InputStream;
import java.io.FileInputStream;
import java.io.File;
public class InputStreamToString {
public static void main(String[] args) throws Exception {
//
// Create an input stream for reading data.txt file content.
//
InputStream is = new FileInputStream(new File("data.txt"));
//
// Get the content of an input stream as a string using UTF-8
// as the character encoding.
//
try {
String contents = IOUtils.toString(is, "UTF-8");
System.out.println(contents);
} finally {
IOUtils.closeQuietly(is);
}
}
}