2011-10-27 36 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