[Débutant] Extraction du texte d'un fichier html avec StringTokenizer
Bonsoir à tous,
Je suis sur l'écriture d'un programme permettant d'extraire le texte d'un fichier html et l'affiche sur la sortie standard. Ce fichier est lu depuis l'entrèe standard System.in.read (imposé par mon prof !) et je dois utiliser la classe StringTokenizer pour sa fonction de délimitation.
Le fichier html est du genre :
<html>
<head>
<title>mots à filtrer</title>
etc.
Voici ce que j'ai pu produire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| import java.io.*;
import java.util.*;
public class filtrage_texte
{
public static void main(String[] args)
{
int entier = 0; // parameter initialization
StringBuffer sb = new StringBuffer(); // buffer creation
System.out.println(" ");
while (entier!=-1) // condition
{
try
{
entier=System.in.read(); // reading
sb.append((char)entier); // characters chains adding
}
catch (IOException e)
{
System.out.println(e.toString()); // error message displaying in case of error
}
}
StringTokenizer st = new StringTokenizer(sb.toString(),"<>");
String token = null;
while (st.hasMoreTokens())
{
token = st.nextToken();
if (!token.endsWith(">"))
{
System.out.print(token);
}
}
System.out.println(" ");
}
} |
Ce cde ne me donne pas encore ce que je souhaite mais j'ai deux requêtes à vous soumettre :
- Pouvez-vous m'indiquer si je suis sur la bonne voie et me donner quelques indices ? je ne cherches pas de solution toute faite !
- La partie "lecture" fonctionne bien, mais j'ai systèmatiquement un caractère "?" qui vient se greffer au niveau du dernier caractère affiché, quelqu'un peut me dire pourquoi ?
ex :
...
/body
/html?
Merci d'avance et bonne soirée à tous.