Recently, i have created a simple Java Servlet server which could parse a request xml from the HTTP POST Request and then return the HTTP Response together with the response xml. In the server implementation, i need to convert an InputStream into a String. The following code shows you how to make it.
In this example, the program will read the data.txt file and print the content to the console.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ConvertInputStreamToString {
public static void main(String[] args) throws IOException {
InputStream is = null;
StringBuilder sb = new StringBuilder();
String line;
try {
ConvertInputStreamToString cists = new ConvertInputStreamToString();
is = cists.getClass().getResourceAsStream("data.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
// Print the content of data.txt
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
is.close();
}
}
}
Here is what you get after running the ConvertInputStreamToString class.

Done =)
Reference: Kodejava – How do I convert InputStream to String?
