Como converter facilmente um BufferedReader em uma String?

@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;
}

O código acima é para o meu servlet. Sua finalidade é obter um fluxo, fazer um arquivo Json dele e, em seguida, enviar o Json para o cliente de volta. Mas para fazer o Json, eu tenho que lerBufferedReader objetord usando um loop "while". No entanto eu gostaria de converterrd para inserir o menor número de linhas de código possível. Como faço isso?

questionAnswers(4)

yourAnswerToTheQuestion