How to read BufferedReader faster

Using string concatenation in a loop is the classic performance killer (because Strings are immutable, the entire, increasingly large String is copied for each concatenation). Do this instead:

StringBuilder builder = new StringBuilder();
String aux = "";

while ((aux = reader.readLine()) != null) {
    builder.append(aux);
}

String text = builder.toString();

When BufferedReader reads from Socket, it is necessary to add bufferedReader.ready():

BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

StringBuilder sb= new StringBuilder();
String line = "";

while (br.ready() && (line = br.readLine()) != null) {
    sb.append(line + "\r\n");
}

String result = sb.toString();

You can try Apache IOUtils.toString. This is what they do:

StringWriter sw = new StringWriter();
char[] buffer = new char[1024 * 4];
int n = 0;
while (-1 != (n = input.read(buffer))) {
    sw.write(buffer, 0, n);
}
String text = sw.toString();

One line solution:

String result = reader.lines().collect(joining(lineSeparator()));

Imports:

import java.io.*;
import static java.lang.System.lineSeparator;
import static java.util.stream.Collectors.joining;