2016-10-11 3 views
2

Я пишу код сокета-клиента в java, и я нашел этот фрагмент кода, который должен читать строку и проверять последнюю измененную дату.Дата последнего изменения в URL-адресе

Я смущен, почему нужно вычесть длину на 21 в modDateArr?

И есть ли другой способ сделать это?

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

извините за это, но я не привык к структуре веб-сайта при отправке sth – moalbait

+0

Найдите ссылку «Изменить» или нажмите, чтобы изменить свой вопрос. Исправьте свой примерный код. Посмотрите другие вопросы или ответы, чтобы увидеть правильное форматирование. Легко сделать правильно. –

ответ

3

Да, есть лучший способ: использовать URL и URLConnection:

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

Смежные вопросы