加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何使用JAVA从互联网下载zip文件并将其保存在特定文件夹中?

发布时间:2020-12-15 05:07:40 所属栏目:Java 来源:网络整理
导读:这是我的代码: public static void downloadZipFile() { String saveTo = "C:UsersariaDownloadsTemp"; try { URL url = new URL("http://www.bcfi.be/download/files/R1112B2_BcfiHtm.zip"); URLConnection conn = url.openConnection(); InputStr
这是我的代码:

public static void downloadZipFile() {
    String saveTo = "C:UsersariaDownloadsTemp";
    try {
        URL url = new URL("http://www.bcfi.be/download/files/R1112B2_BcfiHtm.zip");
        URLConnection conn = url.openConnection();
        InputStream in = conn.getInputStream();
        FileOutputStream out = new FileOutputStream(saveTo + "BcfiHtm.zip");
        byte[] b = new byte[1024];
        int count;
        while ((count = in.read(b)) >= 0) {
            out.write(b,count);
        }
        out.flush(); out.close(); in.close();                   

    } catch (IOException e) {
        e.printStackTrace();
    }
}

**当我编译它我得到以下错误但如果我直接在浏览器中使用url evrything是好的.

我该如何解决?或者还有其他方式下载zip文件吗?**

java.net.UnknownHostException: www.bcfi.be
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:395)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:530)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:234)
at sun.net.www.http.HttpClient.New(HttpClient.java:307)
at sun.net.www.http.HttpClient.New(HttpClient.java:324)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:970)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:836)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1172)
at be.azvub.ext.prismaFlex.Exterahelp.download.DownloadFile.downloadZipFile(DownloadFile.java:72)
at be.azvub.ext.prismaFlex.Exterahelp.download.DownloadFile.main(DownloadFile.java:37)

解决方法

引用Java Docs:

Thrown to indicate that the IP address of a host could not be
determined.

确保您的程序未被防火墙或代理阻止.

更新:

要配置代理,请按照Peter Liljenberg的建议:

You could pass the proxy information to the openConnection call in
your code like this:

Proxy proxy = new Proxy(Proxy.Type.HTTP,new InetSocketAddress(“pro”,9999)); URLConnection conn = url.openConnection(proxy);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读