应用程序未下载文件[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");