Twoja metoda ma zwracać Stringa z podanego URL'a moja natomiast miała zapisywać go do pliku o nazwie wyciagnietej z podanego URL'a, obie rożnia się tylko sposobem zwracanje wartości.
Nie ma sie za bardzo co do niej przyczepiać, robi to co powinna i kod jest krótki, choć na upartego zawsze można się do czegoś przyczepić, chociażby do tego, że to nie metoda powinna wyrzucać wyjątek, tylko wyjatek powinien być przechwytywany przez odpowiednią klase wyjątków, ale to juz naprawde taki szczegół, że nie warto o tym pisać dalej ;).
Co do twojego pytania czy da się przyspieszyć, to nie bardzo, czytanie ze strumienia zależy tu od czasu odpowiedzi zdalnego hosta oraz możliwości łacza, wiec praktycznie nie masz tu możliwości optymalizacji, chociż można by skorzystać z java.nio gdzie czytanie nie jest blokujace, co pozwoliło by wykonywać inne części kodu podczas czekania na odpowiedz hosta, ale to juz inna bajka.
Jesli chodziło ci o wywalenie jednej ze zmiennych String to nie bo potrzebujesz obu zmiennych, jedną do pobirania nowych wartości ze strumienia, a druga do zapamietywania wszystkich wartości jakie uzuskujemy ze strumienia.
Uprościć, jesli Ci chodzi o poprawe kodu to da się co nieco zrobić, np. pętla while wykonuje tylko jedną instukcje a więc można zrezygnować z nawiasów klamrowych, co nic nie zmieni w wykonywaniu się kodu a sam kod bedzie o 2 linijki krótszy. Deklaracje zmiennych też możesz wykonąć w jednej lini,
String tmp, s="";
A wiec całość mogłaby wygladać w następujący spób
static String readHTML(URL url) {
String tmp, s="";
try{
BufferedReader br = new BufferedReader(
new InputStreamReader(url.openStream()));
while((tmp=br.readLine()) != null) s += tmp+"\n";
br.close();
}catch(IOException e){
e.printStackTrace();
}
return s;
}
Co nic nie zmienia poza formatem meteody
Pozdrawiam BookaYashee