J'utilise actuellement la fonction suivante pour faire un simple HTTP GET.Existe-t-il une raison d'utiliser BufferedReader sur InputStreamReader lors de la lecture de tous les caractères?
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();
}
Je ne vois aucune raison d'utiliser le BufferedReader
puisque je vais juste télécharger tout en séquence. Ai-je raison de penser qu'il n'y a aucune utilité pour le BufferedReader
dans ce cas?