2011-10-27 51 views
-4

我想開發一個簡單的正則表達式程序,但是我一直從eclipse得到這個錯誤。找不到代碼中的錯誤?

該錯誤是在這條線,在非大寫URL

的CharSequence getURLContent(URL URL)拋出IOException異常{

語法錯誤,插入 「;」以完成LocalVariableDeclarationStatement

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.net.URL; 
import java.net.URLConnection; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
import android.R.string; 
import android.app.Activity; 
import android.os.Bundle; 

public class VisualizaActivity extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.visualiza); 


    String expr = "<td><span\\s+class=\"flagicon\"[^>]*>"; 

    CharSequence getURLContent(URL url) throws IOException{ 
     URLConnection conn = url.openConnection(); 
     String enconding = conn.getContentEncoding(); 
     if (enconding == null){ 
      enconding = "ISO-8859-1"; 
     } 
     BufferedReader br = new BufferredReader(new InputStreamReader(conn.getInputStream(), enconding)); 
     StringBuilder sb = new StringBuilder(16384); 
     try{ 
      String line; 
      while ((line = br.readLine()) != null){ 
       sb.append(line); 
       sb.append('\n'); 
      } 
     } finally{ 
      br.close(); 
     } 
     return sb; 
    } 


    Pattern patt = Pattern.compile(expr,Pattern.DOTALL | Pattern.UNIX_LINES); 
      URL url = new URL("http://en.wikipedia.org/wiki/Mexico"); 
      Matcher m = patt.matcher(getURLContent(url)); 
      while (m.find()) { 
       String stateURL = m.group(1); 
       String stateName = m.group(2); 
       System.out.println(stateName + "," + stateURL); 
      } 
    } 
} 
+4

您試圖在方法內創建方法嗎? Android可以做些我不知道的事情嗎? –

+0

^^這。你的代碼無效。你不能那樣做。 –

+1

什麼是'BufferredReader'? –

回答

8

您不能在方法內創建方法。您試圖在onCreate內部聲明getURLContent