2009-03-31 9 views
1

私はすでにlink checkerの質問を読んでいます。このような疑問が増えれば、私はそれを逃してしまいました。このJavaリンクチェッカーコードがコンパイルされないのはなぜですか?

websiteにある壊れたリンクは非常に簡単な方法でスクリプト可能な方法で見つけ出す必要があるため、壊れたリンクを文書化することができます。私はblog postをjavaで書かれたコードで見つけました。これは私の必要とすることを行い、私の非常に基本的な知識は私にそれをコンパイルさせましたが、毎回エラーが出ます。私は、ここの誰かが、なぜコードがコンパイルされないのかを私に指示できるかもしれないと思った。ここで

は、コードは次のとおりです。すべてのことの返信に

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です)をリダイレクトリンク(String)に変換します。 Javaでは、文字列の値が自動的に比較され、toStringが実際に必要なものを与えます。

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

注:著者のコードでより正確には、私はに上記のコードを変更しますNetBeansで、あなたは、単に右クリックすると、オプションのインポートを修正を選択します(またはCtrl +は+ Iをシフトヒット)と、それ現在使用している正しいパッケージを見つけて、インポートステートメントを自動的に挿入しようとします。

0

コードが正しいようです。必要なパッケージをインポートしていない可能性があります。それはあなたが得ているコンパイラのエラーを投稿できるかどうかを助けるでしょう。

+0

ありがとうございました。私は朝早くそれをやるでしょう。ありがとう。 – Geo

関連する問題