2016-10-11 166 views
2

我在java中编写客户端套接字代码,并且发现这段代码应该读取一行并检查最后修改日期。URL中的最后修改日期

我很困惑为什么需要在modDateArr中减去21的长度?

还有其他方法可以做到这一点吗?

while((x = br.readLine()) != null){ 
    if(x.contains("Last-Modified:")){ 
     modDateArr = new char[x.length()-21]; 
     x.getChars(20, x.length()-1, modDateArr, 0); 
     // create mod date string from last mod info 
     modDate = new String(modDateArr); 
     break; 
    } 
} 
+0

请正确格式化您的代码示例。 –

+0

对不起,但我不习惯网站的结构,当我发布...... – moalbait

+0

寻找“编辑”链接或按钮来编辑你的问题。请修复您的示例代码。查看其他问题或答案以查看正确的格式。容易做到正确。 –

回答

3

是的,有一个更好的办法:使用URLURLConnection

URL url = new URL("http://blablah/foo"); 
URLConnection connection = url.openConnection(); 
Date lastModified = new Date(connection.getLastModified()); 

注意,Last-Modified头看起来是这样的:

Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT 

如果您从第21个字符像你的代码这样的行,你会得到这个:15 Nov 1995 04:58:08 GMT

+0

谢谢,这真的很有帮助 – moalbait