我之前在this link中问过类似的问题,但我仍然遇到这个问题。这是解释我的问题的代码:
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");
}
}
如果在下载过程中断开笔记本电脑与Internet的连接,下载不会结束,并且会持续一段时间(取决于我断开笔记本电脑与Internet的连接时间)。我的问题是:
请帮助我。我真的需要你的答案。
如果我的句子语法不正确,我提前致歉。因为我的英语说得不好。
答案 0 :(得分:1)
您似乎被此代码将下载速度限制为1 kB / s。事实并非如此。
此数据将在服务器和ISP能够发送数据后尽快下载到您的计算机(取决于计算机的网络缓冲区的大小),并将被缓冲在OS中的某个位置,直到Java进程请求为止它。