2011-06-02 4 views
1

J'utilise la ligne de lecture pour obtenir du texte de wikipedia. Mais la ligne de lecture ne renvoie que les listes, pas le texte que je veux. Est-il possible d'utiliser une alternative ou de résoudre mon problème?Alternative à .readLine()/readLine ne renvoie que des listes

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

Que voulez-vous dire par 'readline only returns lists'? Read line renvoie une chaîne pour chaque ligne rencontrée par le lecteur. – Joseph

+0

Quelle est votre 'PlainTextConverter' et votre' WikiModel'? Ceux-ci ne font pas partie de la plate-forme standard. –

Répondre

2

La méthode readLine() sur un BufferedReader exemple definitely returns a String. Dans votre exemple de code, vous faites deux fois readLine() dans votre boucle while. Tout d'abord vous stockez dans inputLine:

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

Ensuite, vous stockez (la ligne suivante ) en TEST sans vérifier si elle est null. Essayez de passer inputLine au lieu de TEST à la méthode render.

Questions connexes