2011-06-02 3 views
1

Я использую строку чтения, чтобы получить текст из Википедии. Но чтение строки возвращает только списки, а не текст, который я хочу. Есть ли способ использовать альтернативу или решить мою проблему?Альтернатива .readLine()/readLine возвращает только списки

public class mediawiki { 

    public static void main(String[] args) throws Exception { 
     URL yahoo = new URL(
      "http://en.wikipedia.org/w/index.php?title=Jesus&action=raw" 
     ); 
     BufferedReader in = new BufferedReader(
      new InputStreamReader(yahoo.openStream()) 
     ); 
     String inputLine;  

     //http://en.wikipedia.org/w/index.php?title=Space&action=raw 

     while ((inputLine = in.readLine()) != null) { 
      String TEST = in.readLine(); 

      //while ((inputLine = in.readLine()) != null) 
      //System.out.println(inputLine); 
      //This basicly reads each line, using 
      //the read line command to progress 

      WikiModel wikiModel = new WikiModel(
       "http://www.mywiki.com/wiki/${image}", 
       "http://www.mywiki.com/wiki/${title}" 
      ); 
      String plainStr = wikiModel.render(
       new PlainTextConverter(), 
       TEST 
      ); 
      System.out.print(plainStr); 
     } 
    } 
} 
+0

Что вы подразумеваете под «readline only возвращает списки»? Read line возвращает строку для каждой строки, в которой встречается читатель. – Joseph

+0

Каков ваш 'PlainTextConverter' и ваш' WikiModel'? Они не являются частью стандартной платформы. –

ответ

2

Метод readLine() на BufferedReader например definitely returns a String. В примере кода вы делаете readLine() дважды в цикле while. Сначала вы храните его в inputLine:

while ((inputLine = in.readLine()) != null) 

Затем вы сохраняете (линия следующий) в TEST без проверки, если это null. Попробуйте передать inputLine вместо TEST на номер render.

Смежные вопросы