【问题标题】:How to check if a static file in web server is updated or not?如何检查 Web 服务器中的静态文件是否已更新?
【发布时间】:2009-07-15 06:16:58
【问题描述】:

客户端的任何Java API都可以检查其修改日期吗?

【问题讨论】:

  • 客户端到底是什么意思?您是通过 HttpClient 或类似的方式从服务器获取文件吗?如果是这样,您需要查看 HTTP 标头(特别是 Last-Modified)。请澄清。
  • 对不起,我的意思是在客户端。问题已修改。

标签: java api webserver last-modified


【解决方案1】:

假设服务器返回一个,您可以使用HttpURLConnection 检查页面上的 Last-Modified 值。

此请求使用 HTTP HEAD method 仅返回资源的标头:

URL url = new URL(
    "http://en.wikipedia.org/wiki/Main_Page");
HttpURLConnection httpConnection = (HttpURLConnection) url
    .openConnection();
httpConnection.setRequestMethod("HEAD");
httpConnection.connect();
long lastModified = httpConnection.getLastModified();
if (lastModified != 0) {
  System.out.println(new Date(lastModified));
} else {
  System.out.println("Last-Modified not returned");
}
httpConnection.disconnect();

// TODO: error handling

HttpURLConnection 对于某些事情来说已经足够了,但如果你想要更全面的 API,请查看Apache HttpComponents

【讨论】:

    【解决方案2】:

    您可以使用java.io.File 中的lastModified 方法找出文件最后一次修改的时间。

    【讨论】:

    • 对不起,我的意思是在客户端。问题已修改。
    猜你喜欢
    • 1970-01-01
    • 2012-10-01
    • 2012-02-17
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多