为什么在没有任何连接的情况下继续下载



我以前在这个链接中问过类似的问题,但我仍然有这个问题。这是一个解释我的问题的代码:

package main;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainClass {
public static void main(String[] args) throws IOException {
URL url = new URL("http://speedtest-ny.turnkeyinternet.net/100mb.bin");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setReadTimeout(10000);
con.setConnectTimeout(10000);
con.connect();
InputStream inputStream = con.getInputStream();
int len;
byte[] buffer = new byte[1024];
while ((len = inputStream.read(buffer)) != -1) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("downlaoding : " + len);
}
System.out.println("finished");
}
}

如果我在下载过程中断开笔记本电脑与互联网的连接,下载不会结束并持续一段时间(取决于我断开笔记本计算机与互联网连接的时间(。我的问题是:

  1. 为什么会发生这种情况
  2. 我该如何解决这个问题

请帮帮我。我真的需要你的回答。

如果我的句子语法不正确,我提前道歉。因为我英语说得不好。

您似乎认为此代码将下载速度限制在1 kB/s。事实并非如此。

这些数据将在服务器和ISP能够发送时尽快下载到您的机器上(取决于您机器的网络缓冲区的大小(,并将缓冲在您操作系统中的某个位置,直到Java进程请求它。

相关内容

最新更新