How to easily convert a BufferedReader to a String?

java, json

Solution

From Java 8:

rd.lines().collect(Collectors.joining());

Problem

``` @POST @Path("/getphotos") @Produces(MediaType.TEXT_HTML) public String getPhotos() throws IOException{ // DataInputStream rd = new DataInputStream(request.getInputStream()); BufferedReader rd = new BufferedReader( new InputStreamReader(request.getInputStream(), "UTF-8") ); String line = null; String message = new String(); final StringBuffer buffer = new StringBuffer(2048); while ((line = rd.readLine()) != null) { // buffer.append(line); message += line; } System.out.println(message); JsonObject json = new JsonObject(message); return message; } ``` The code above is for my servlet. Its purpose is to get a stream, make a a Json file from it, and then send the Json to the client back. But in order to make Json, I have to read `BufferedReader` object `rd` using a "while" loop. However I'd like to convert `rd` to string in as few lines of code as possible. How do I do that?

Original source