我有一些代码从网站下载最新版本的jar文件。我使用mydomain.com作为我的网络服务器和域名。我以前使用此服务的html和php文件没有更新数小时的问题。这次,我很确定它的Java是否会缓存文件或其他内容,因为如果我点击网站结构菜单上的下载按钮,它会下载最新版本的jar文件。但是当我在Java中这样做时,它会下载一段时间以前的版本。这是我用来下载jar文件的代码:
System.out.println("starting update...");
File rootDir = new File(System.getProperty("user.home") + "\\AppData\\Local\\GDRQ");
File downloadDir = new File(System.getProperty("user.home") + "\\AppData\\Local\\GDRQ\\downloading");
File targetFile = new File(System.getProperty("user.home") + "\\AppData\\Local\\GDRQ\\downloading\\launch_gdbotbin.jar");
URL downloadUrl = new URL("http://dropmoose.com/gdbotpro/launch_gdbotbin.jar");
if (!rootDir.isDirectory()) {
rootDir.mkdir();
}
if (!downloadDir.isDirectory()) {
downloadDir.mkdir();
}
InputStream inStream = downloadUrl.openStream();
//System.out.println(inStream.available());
BufferedInputStream bufIn = new BufferedInputStream(inStream);
OutputStream out = new FileOutputStream(targetFile);
BufferedOutputStream bufOut = new BufferedOutputStream(out);
byte[] buffer = new byte[32 * 4096];
while (true) {
int nRead = bufIn.read(buffer, 0, buffer.length);
if (nRead <= 0) {
break;
}
bufOut.write(buffer, 0, nRead);
}
bufOut.flush();
out.close();
inStream.close();
System.out.println("update successful");
infoPane.dispose();
System.out.println("cleaning up...");
更新 1小时后,我再次运行下载程序并下载了最新版本。但为什么需要这么长时间?