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

标签 java caching download

好吧,几个小时以来我一直在努力解决这个问题,但它开始让我感到沮丧。

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

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

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

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

关于java - 应用程序未下载最新版本的文件 [Java],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30975855/

相关文章:

java - 如何做进程异步?

java - Springfox Swagger 'Whitelabel Error Page' :com. google.common.base.Predicate 无法解析

javascript - Chrome 安装 Service Worker addAll 无法获取

java恢复中断下载

java动态内存分配?

c++ - 了解 CPU 如何决定将什么加载到高速缓存中

caching - Varnish :即使请求或响应 header 中存在某些 cookie 也会缓存

java - Android 应用程序永远无法将网页内容下载为字符串(WaitForGcToComplete 因 HeapTrim 原因而被阻止 xx.xxxms?)

java - Android:如何在android中下载文件?

java - 文件比较和突出显示 - Java