尝试获取服务器上文件的上次修改时间时出错

时间:2018-08-27 15:03:07

标签: java android url urlconnection

我正在尝试使用URLConnection在服务器上获取我的文本文件的LastModifed()时间,并出现错误。

代码如下:

public static String checkLastModified() throws IOException {
    URL url = new URL("http://c24871.shared.hc.ru/Extra.txt");
    URLConnection con = url.openConnection();
    Date lastModified = new Date(con.getLastModified());

    return dff.format(lastModified);
}

如果您需要更多信息,我将编辑问题。

2 个答案:

答案 0 :(得分:0)

我认为您的主要问题是方法checkLastModified()不会打印任何内容。而是返回创建的日期字符串。在调用checkLastModified()的main方法中,您必须打印返回的String才能查看结果:

public static void main(String[] args) {
    try {
        String result = checkLastModified();
        System.out.println(result);
    } catch (IOException e) {
        e.printStackTrace();
    }
}


public static String checkLastModified() throws IOException {
    URL url = new URL("http://c24871.shared.hc.ru/Extra.txt");
    URLConnection con = url.openConnection();
    Date lastModified = new Date(con.getLastModified());

    SimpleDateFormat dff = new SimpleDateFormat();
    return dff.format(lastModified);
}

如果这样做,您将在控制台上看到

  

26.08.18,09:51

答案 1 :(得分:0)

最后找到了解决方案。 只需将所有这些功能放入线程中即可:

new Thread(new Runnable() {
        public void run() {
            URL url = null;
            try { url = new URL("http://c24871.shared.hc.ru/Extra.txt");
            } catch (MalformedURLException e) { e.printStackTrace(); }
            connection = null;
            try { connection = url.openConnection();
            } catch (IOException e) { e.printStackTrace(); }
            Log.d(TAG, String.valueOf(connection.getLastModified()));


        }
    }).start();