Actualmente uso la siguiente función para hacer un simple HTTP GET.¿Hay alguna razón para usar BufferedReader sobre InputStreamReader al leer todos los caracteres?
public static String download(String url) throws java.io.IOException {
java.io.InputStream s = null;
java.io.InputStreamReader r = null;
//java.io.BufferedReader b = null;
StringBuilder content = new StringBuilder();
try {
s = (java.io.InputStream)new URL(url).getContent();
r = new java.io.InputStreamReader(s);
//b = new java.io.BufferedReader(r);
char[] buffer = new char[4*1024];
int n = 0;
while (n >= 0) {
n = r.read(buffer, 0, buffer.length);
if (n > 0) {
content.append(buffer, 0, n);
}
}
}
finally {
//if (b != null) b.close();
if (r != null) r.close();
if (s != null) s.close();
}
return content.toString();
}
veo ninguna razón para utilizar el BufferedReader
ya que sólo voy a descargar todo en secuencia. ¿Estoy en lo cierto al pensar que no sirve de nada el BufferedReader
en este caso?