我正在用 Java 制作一个从网络服务器下载文件的应用程序。该文件是一个 816kb 的 zip 文件。我已经在 3 台不同的计算机上测试了该应用程序,但它不适用于一台计算机。对于那个它只下载 13kb 的文件然后停止。当我检查 htaccess 日志时,我看到:
a: "GET /cache.zip HTTP/1.1" 200 816938 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.7.0_07"
b: "GET /cache.zip HTTP/1.1" 200 134320 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.7.0_09"
(PC a 工作,PC b 不工作)
我已经尝试了很多不同的方法来用 java 下载文件,但是对于所有方法,它在 13kb 之后停止下载。我也试过用 512m 内存运行 te 应用程序,但这不是问题。
这就是我现在所拥有的:
DataInputStream in = new DataInputStream(conn.getInputStream());
DataOutputStream out = new DataOutputStream(new FileOutputStream(new File(Config.CACHE_DIR+File.separator+"cache.zip")));
byte[] data = new byte[1024];
while((count = in.read(data,0,1024)) >= 0){
out.write(data, 0, count);
}
但是这个while循环不会停止,所以它会卡在in.read