应用程序未下载最新版本的文件 [Java]

App Not Downloading Newest Version Of File [Java]

好吧,几个小时以来我一直在努力解决这个问题,但它开始让我受不了了。

我为我偶尔使用的应用程序编写了一个原始版本检查器。这只是一个简单有趣的项目。

虽然版本检查器一直很痛苦。它在我测试的前几次工作正常,但从那以后它一遍又一遍地返回相同的值,尽管它正在读取的文件已被删除。我只能假设这意味着它被缓存在某个地方,并且缓存版本文件有点破坏了拥有它的意义。

这是我用来检查网站版本号的代码:

    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();
}

我用

int ver = Integer.parseInt(getText("http://www.fragbashers.net/smite/version.txt"));
    URL newClient = new URL("http://www.fragbashers.net/smite/RGP_" + ver + ".jar");

和一些用于下载新版本的 JFileChooser 代码。这不会导致任何问题。

我网站上的文件有一个7位长整数(2999999),这是最新版本的文件。 Eclipse 正在打印旧版本 (2005001)。

基本上我需要帮助弄清楚文件被缓存的原因以及如何阻止它被缓存以使其始终具有最新版本。

使用URLConnection.setUseCaches(boolean);.

在你的情况下,它将是 connection.setUseCaches(false);