2013-03-05 147 views
-1

我正在嘗試做一個從URL獲取源代碼的類。我不明白爲什麼我收到了這條線「找不到符號錯誤」:爲什麼我得到一個「無法找到符號」錯誤

catch (MalformaedURLException e)

如果有人能解釋什麼是錯,這將是美好的...謝謝

這是我整個的代碼:

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.net.URL; 
import java.net.URLConnection; 
import java.net.MalformedURLException; 

public class SourceCode 
{ 
private String source; 
public SourceCode(String url) 
{ 
    try 
    { 
     URL page = new URL(url); 
     this.source = getSource(page); 
    } 
    catch (MalformedURLException e) 
    { 
     e.printStackTrace(); 
    } 
} 

public String getSource(URL url) throws Exception 
{ 

     URLConnection spoof = url.openConnection(); 
     BufferedReader in = new BufferedReader(new InputStreamReader(spoof.getInputStream())); 
     String strLine = ""; 

     spoof.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; H010818)"); 


     while ((strLine = in.readLine()) != null) 
     { 
      strLine = strLine + "\n"; 
     } 
     return strLine; 
} 

}

+0

您需要導入'java.net.MalformedURLException' – Apurv 2013-03-05 05:57:43

+0

拼寫爲MalformedURLException的是錯誤的.... – Pragnani 2013-03-05 06:05:59

回答

3

有多個問題與此代碼。

  1. 你缺少進口的java.net.MalformedURLException
  2. getSource()不返回任何東西,你需要從方法返回一個字符串。
  3. 你開始從源頭上閱讀
  4. 你的構造函數被忽略扔出來
  5. 的異常,而不是有沒有消氣源

    進口java.io.BufferedReader中後設置spoof.setRequestProperty; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection;

    public class SourceCode {0} {0}私人字符串來源;

    public SourceCode(URL pageURL) throws IOException { 
        this.source = getSource(pageURL); 
    } 
    
    public String getSource() { 
        return source; 
    } 
    
    private String getSource(URL url) throws IOException { 
        URLConnection spoof = url.openConnection(); 
        StringBuffer sb = new StringBuffer(); 
    
        spoof.setRequestProperty("User-Agent", 
          "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; H010818)"); 
        BufferedReader in = new BufferedReader(new InputStreamReader(
          spoof.getInputStream())); 
    
        String strLine = ""; 
        while ((strLine = in.readLine()) != null) { 
         sb.append(strLine); 
        } 
    
        return sb.toString(); 
    } 
    
    public static void main(String[] args) throws IOException { 
        SourceCode s = new SourceCode(new URL("https://www.google.co.in/")); 
        System.out.println(s.getSource()); 
    } 
    

    }

+0

完美,謝謝! – mbridges 2013-03-05 06:22:17

+0

謝謝幫助了我很多! – 2016-02-23 22:32:56

相關問題