2009-03-31 5 views
1

나는 이미 link checker 질문을 읽었습니다. 이런 종류의 질문이 더 많으면 나는 그것을 놓쳤다. 사과한다.왜이 자바 링크 검사기 코드가 컴파일되지 않습니까?

website에서 깨진 링크를 매우 쉽게 찾고 스크립트 방식으로 찾아야하므로 깨진 링크를 문서화 할 수 있습니다. 나는 정확히 내가해야 할 일을 할 자바로 작성된 코드로 blog post을 발견했다. 그리고 나의 아주 기본적인 지식은 그것을 컴파일하게 만들었지 만 매번 에러가 난다. 아마도 여기 누군가가 코드가 컴파일되지 않는 이유를 직접 알려줄 것이라고 생각했습니다. 모든 답장

import java.net.HttpURLConnection; 
import java.net.URL; 
class links 
{ 

private static boolean isLive(String link) { 
    HttpURLConnection urlConnection = null; 
    try { 
     URL url = new URL(link); 
     urlConnection = (HttpURLConnection) url.openConnection(); 
     urlConnection.setRequestMethod("HEAD"); 
     urlConnection.connect(); 
     String redirectLink = urlConnection.getHeaderField("Location"); 
     if (redirectLink != null && !url.equals(redirectLink)) { 
     return isLive(redirectLink); 
     } else { 
     return urlConnection.getResponseCode() == HttpURLConnection.HTTP_OK; 
     } 
    } catch (Exception e) { 
     return false; 
    } finally { 
     if (urlConnection != null) { 
     urlConnection.disconnect(); 
     } 
    } 
    } 

    public static void main(String[] args) { 
    System.out.println(isLive("http://www.fakelink.net")); 
    } 
} 

감사 : 여기

는 코드입니다. 나중에 참조 할 수 있도록 여기에 컴파일 된 코드를 넣습니다.

+0

올바른 해결책으로 코드를 업데이트하기 위해 투표했습니다. – rich

답변

1

올바른 패키지를 가져와야합니다. 이 경우 파일의 맨 위에있는 추적이 있어야합니다 나는 또한 다음 코드 조각에 컴파일러 경고를 받고 있어요

import java.net.HttpURLConnection; 
import java.net.URL; 

:

&& !url.equals(redirectLink) 

URL을 동일시하려고 (URL)을 redirectLink (String)로 매핑합니다. Java에서는 자동으로 문자열 값을 비교할 때 toString이 실제로 원하는 것을 제공합니다. 당신은 단순히 마우스 오른쪽 버튼으로 클릭 수, 넷빈즈 및 옵션 수정 가져 오기를 선택 (또는 Ctrl 키 + + I 시프트 공격)을하고 :

&& !url.toExternalForm().equals(redirectLink) 

참고 : 나는 위의 코드를 변경 것이라고 저자 코드에서 더 정확하게하려면 현재 사용하고있는 올바른 패키지를 찾고 자동으로 가져 오기 명령문을 삽입하려고합니다.

0

코드가 올바르게 표시됩니다. 필요한 패키지를 가져 오지 않았습니까? 당신이 얻는 컴파일러 오류를 게시 할 수 있다면 도움이 될 것입니다.

+0

대단히 감사합니다. 나는 이른 아침에 그렇게 할 것이다. 감사. – Geo

관련 문제