gpt4 book ai didi

java - 如何从 sun.net.www.protocol.file.FileURLConnection 复制数据?

转载 作者:行者123 更新时间:2023-11-30 02:56:32 24 4
gpt4 key购买 nike

我正在制作更新程序库的调试版本。通常,更新程序会连接到要下载的文件的 URL。旧代码如下所示:

HttpURLConnection httpConnection;
URL downloadLink = "...";
System.out.println("Downloading update: "+downloadLink);
try {
httpConnection = (HttpURLConnection) (downloadLink.openConnection());
}
catch(IOException e) {
updater.dispatchEvent("download.stopped",ex);
return;
}

问题是,如果链接链接到文件 (file:/C:/.../file.zip),则 downloadLink.openConnection()返回 FileURLConnection 而不是 HttpURLConnection。所以我修改了代码,变得更加灵活:

URLConnection connection = null;
try {
connection = downloadLink.openConnection();
} catch (IOException ex) {
updater.dispatchEvent("download.stopped",ex);
}
System.out.println("Downloading update: "+downloadLink);
if(connection instanceof HttpURLConnection) {
// HTTp downloading code exported to different method
if(!download_http((HttpURLConnection) connection, updater))
return false;
}
else if(connection instanceof FileURLConnection) {
throw new UnsupportedOperationException("Now what?");
}
else {
updater.dispatchEvent("download.stopped",
new IllegalStateException("Unknown class type for download conenction: "
+ connection.getClass().getName()));
return false;
}

但我不知道如何使用FileURLConnection。如果我用谷歌搜索,我什至似乎没有得到任何相关结果 - 看起来人们不使用它。

问题是:如何将 FileURLConnection 提供的数据复制到新文件?

最佳答案

你不在乎它是什么。您所需要的只是输入流,URLConnection 提供了它。然后你只需复制字节即可。

关于java - 如何从 sun.net.www.protocol.file.FileURLConnection 复制数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37105766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com