Java: Скачать страницу или файл с веба

Самый простой способ скачать страницу или картинку или ещё что-то в вашем приложении – воспользоваться вот таким классом с одним статическим методом.


/**
* Fetch url
* @author rux
*/
public class Fetcher {

public static String get(String urlString) {
StringBuilder result = new StringBuilder();
String line;
try {
URL url = new URL(urlString);
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
while ((line = reader.readLine()) != null) result.append(line);
reader.close();
} catch (Exception e) {
// ...
}

return result.toString();
}

}

За основу взят кусочек кода из Google App Engine. Это если не требуется ни авторизации, ни куков, ничего особенного :)

Пример использования

Стаскиваем страницу Яндекса:


String ya = Fetcher.get("http://ya.ru");

Вот только нужно учесть, что в таком способе нет возможности прервать соединение, пока все данные не будут полученны или пока не отвалится по таймауту