Я ищу возможность открыть URL в Java.
URL url = new URL("http://maps.google.at/maps?saddr=4714&daddr=Marchtrenk&hl=de"); InputStream is = url.openConnection().getInputStream(); BufferedReader reader = new BufferedReader( new InputStreamReader( is ) ); String line = null; while( ( line = reader.readLine() ) != null ) { System.out.println(line); } reader.close();
Я нашел этот путь.
Я добавил его в свою программу, и произошла следующая ошибка.
The method openConnection() is undefined for the type URL
(от url.openConnection ())
В чем моя проблема?
Я использую tomcat-сервер с сервлетами, ...
public class UrlContent{ public static void main(String[] args) { URL url; try { // get URL content String a="http://localhost:8080/TestWeb/index.jsp"; url = new URL(a); URLConnection conn = url.openConnection(); // open the stream and put it into BufferedReader BufferedReader br = new BufferedReader( new InputStreamReader(conn.getInputStream())); String inputLine; while ((inputLine = br.readLine()) != null) { System.out.println(inputLine); } br.close(); System.out.println("Done"); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
String url_open ="http://javadl.sun.com/webapps/download/AutoDL?BundleId=76860"; java.awt.Desktop.getDesktop().browse(java.net.URI.create(url_open));
Следующий код должен работать,
Это работает для меня.Пожалуйста, проверьте, если вы используете правильный импорт?
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL;
Вы уверены, что используете класс java.net.URL?Проверьте свои заявления на импорт.
java.net.URL
Если вы просто хотите открыть веб-страницу, я думаю, что чем меньше, тем лучше:
import java.awt.Desktop; import java.net.URI; //Note this is URI, not URL class BrowseURL{ public static void main(String args[]) throws Exception{ // Create Desktop object Desktop d=Desktop.getDesktop(); // Browse a URL, say google.com d.browse(new URI("http://google.com")); } } }
Может быть более полезно использовать клиентскую библиотеку http, такую как this
Есть и другие вещи, такие как отказ в доступе, перемещение документа и т. Д., Которые нужно обрабатывать при работе с http.
(хотя в этом случае это маловероятно)
Я нашел этот вопрос, пока гуглил. Обратите внимание, что если вы просто хотите использовать содержимое URI через что-то вроде строки, попробуйте использовать метод Apache IOUtils.toString().
IOUtils.toString()
Например, пример строки кода может быть:
String pageContent = IOUtils.toString("http://maps.google.at/maps?saddr=4714&daddr=Marchtrenk&hl=de", Charset.UTF_8);