15

我正在寻找在 java 中打开 url 的机会。

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())

我的问题是什么?

我使用带有 servlet 的 tomcat 服务器,...

4

8 回答 8

19
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();
        }

    }
}
于 2013-02-04T12:18:41.343 回答
14
String url_open ="http://javadl.sun.com/webapps/download/AutoDL?BundleId=76860";
java.awt.Desktop.getDesktop().browse(java.net.URI.create(url_open));
于 2013-05-06T07:58:24.973 回答
6

以下代码应该可以工作,

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();
于 2014-07-01T11:43:41.520 回答
6

这个对我有用。请检查您是否使用了正确的导入?

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
于 2012-04-02T13:29:42.143 回答
2

你确定使用这个java.net.URL类吗?检查您的导入语句。

于 2012-04-02T13:29:01.853 回答
2

如果你只是想打开网页,我认为这种情况下少即是多:

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"));

        }
    }
}
于 2016-01-02T07:30:00.833 回答
1

使用像这样的http客户端库可能更有

在处理 http 时,还有更多的事情需要处理,例如拒绝访问、移动文档等。

(虽然,在这种情况下不太可能)

于 2012-04-02T13:30:07.807 回答
1

我在谷歌搜索时发现了这个问题。请注意,如果您只想通过字符串之类的方式使用 URI 的内容,请考虑使用 Apache 的IOUtils.toString()方法。

例如,示例代码行可能是:

String pageContent = IOUtils.toString("http://maps.google.at/maps?saddr=4714&daddr=Marchtrenk&hl=de", Charset.UTF_8);
于 2019-01-13T21:47:34.727 回答