应用程序未下载文件[Java]的最新版本
好吧,我想弄清楚这件事已经有几个小时了,现在我快死了 我为我偶尔使用的应用程序编写了一个原始版本检查程序。这只是一个简单有趣的项目 不过,版本检查器一直是个难题。在我测试它的前几次,它是工作的,但从那时起,它就一次又一次地返回相同的值,尽管它读取的文件已经被删除。我只能假设这意味着它被缓存在某个地方,而缓存一个版本文件会破坏拥有它的意义 以下是我用于检查网站版本号的代码:应用程序未下载文件[Java]的最新版本,java,caching,download,Java,Caching,Download,好吧,我想弄清楚这件事已经有几个小时了,现在我快死了 我为我偶尔使用的应用程序编写了一个原始版本检查程序。这只是一个简单有趣的项目 不过,版本检查器一直是个难题。在我测试它的前几次,它是工作的,但从那时起,它就一次又一次地返回相同的值,尽管它读取的文件已经被删除。我只能假设这意味着它被缓存在某个地方,而缓存一个版本文件会破坏拥有它的意义 以下是我用于检查网站版本号的代码: public int VersionNumber = 2005001; //to be updated to 299
public int VersionNumber = 2005001; //to be updated to 2999999 when building to distribute
public static boolean CheckUpdate() throws Exception {
int ver = Integer.parseInt(getText("http://www.fragbashers.net/smite/version.txt"));
System.out.println(ver);
if (ver > VersionNumber) {
System.out.println("Current version lower than newest!");
return true;
} else {
return false;
}
}
public static String getText(String url) throws Exception {
URL website = new URL(url);
URLConnection connection = website.openConnection();
BufferedReader in = new BufferedReader(
new InputStreamReader(
connection.getInputStream()));
StringBuilder response = new StringBuilder();
String inputLine;
while ((inputLine = in.readLine()) != null)
response.append(inputLine);
in.close();
return response.toString();
}
我用
和一些JFileChooser代码来下载新版本。这不会引起任何问题
我网站上的文件有一个7位数长的int(299999),这是最新版本的文件。Eclipse正在打印旧版本(2005001)
基本上,我需要帮助找出文件被缓存的原因,以及如何阻止文件被缓存,使其始终具有最新版本。使用
URLConnection.setUseCaches(布尔值)代码>
在您的情况下,它将是connection.setUseCaches(false)代码>
int ver = Integer.parseInt(getText("http://www.fragbashers.net/smite/version.txt"));
URL newClient = new URL("http://www.fragbashers.net/smite/RGP_" + ver + ".jar");