Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : extraire titre d'un doc html [ Archives / Au secours ] (kakol)

jeudi 11 mai 2006 à 11:37:07 | extraire titre d'un doc html

kakol

Bonjour,

J'essaie d'adapter la classe HTMLutils du projet Diaporama de steorogath. En effet, je souhaite extraire le titre de mes documents html, ce que fait cette classe. Cependant j'utilise la version 1.4 de java et je crois que la classe HTMLutils est développée avec la version 1.5 car certains objets comme StringBuilder ne sont pas reconnus. J'ai regardé la javadoc et essayé de remplacer StringBuilder par StringBuffer mais j'ai des problèmes avec Matcher. Je suis encore novice en java et je n'arrive pas à me servir de cette classe alors qu'elle me serait bien utile.

Voici le code de la classe :

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HTMLutils {
public HTMLutils(){
}
public static String getHtmlTitleMarkup(String htmlFile){
try {
BufferedReader in =
new BufferedReader(new FileReader(new File(htmlFile)));
StringBuilder input =
new StringBuilder();
int ch;
while ((ch = in.read()) != -1) input.append((char) ch);
String patternString =
"<title>+[^\"]+</title>";
Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(input);
while (matcher.find())
{
int start = matcher.start();
int end = matcher.end();
String match = input.substring(start, end);
toreturn = match;
}
}
catch (MalformedURLException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return toreturn.substring(7,toreturn.length()-8).trim();
}
public static String toreturn;
}


Quelqu'un pourrait m'aider svp? Merci d'avance.

***  Kakol ***

jeudi 11 mai 2006 à 11:51:09 | Re : extraire titre d'un doc html

scaryman

Salut
Moi je te dirais que tout le monde (surtout dans les nouvelles technologies) doit se tenir à jour : donc télécharge Java5 et comme ça plus aucun problème.
Sinon pour le problème, remplacer StringBuilder par StringBuffer revient au même parce qu'ils implémentent tous les deux de CharSequence.

Voila
A++

jeudi 11 mai 2006 à 12:06:01 | Re : extraire titre d'un doc html

kakol

Je ne serais pas contre passer a la version 1.5 mais comme je suis en stage je doit utiliser la version présente dans l'entreprise donc j'ai pas le choix.
En fait voici mon erreur :
La méthode matcher(CharSequence) du type Pattern ne s'applique pas aux arguments (StringBuffer)

Je comprend l'erreur puisque mon input est du type StringBuffer et que la méthode matcher demande un type CharSequence. Le problème c'est que je ne sais pas quoi faire puisque StringBuffer implémente CharSequence.

***  Kakol ***


jeudi 11 mai 2006 à 12:12:39 | Re : extraire titre d'un doc html

super_toinou

si StringBuffer implémente CharSequence fé matcher((CharSequence) tonStringBuffer );

jeudi 11 mai 2006 à 13:44:39 | Re : extraire titre d'un doc html

kakol

il me met : impossible de convertir (StringBuffer) en (CharSequence)

***  Kakol ***

jeudi 11 mai 2006 à 17:29:35 | Re : extraire titre d'un doc html

sheorogath

Membre Club Administrateur CodeS-SourceS
bizarre moichez moi je suis en 1.5 j'ai change juste cette ligne : StringBuffer input = new StringBuffer(); ca compile encore bonne chance je t'aiderais bien plus mai sje ne me sens aps de changer de jdk

vendredi 12 mai 2006 à 09:11:58 | Re : extraire titre d'un doc html

kakol

Réponse acceptée !
Salut,
ça y est j'ai résolu mon problème !!!
En fait ça n'était pas une question de jdk. j'ai aussi changé la ligne du StringBuilder en StringBuffer input = new StringBuffer();
Le problème venait en fait d'un conflit entre blibliothèques. En effet, le package java.lang était présent dans 2 bibliothèques, dans une des 2 StringBuffer implémentait bien CharSequence et dans l'autre non, et bien sur la compilation utilisait la mauvaise bibliothèque.
Merci pour votre aide et bonne continuation

***  Kakol ***

mercredi 21 juin 2006 à 11:02:52 | Re : extraire titre d'un doc html

papillon2000

bonjour à tous, j'ai un probleme kakol, je veux éxtraire le nom des liens dans un code html, c'est présque la même chose que vos, est ce que je peux avoir ton code pour régler mon probléme, sa va beaucoup m'aider, merci.

 


jeudi 22 juin 2006 à 09:25:32 | Re : extraire titre d'un doc html

kakol

Réponse acceptée !
Voici mon code final :

publicclass HtmlUtils {
public HtmlUtils() {
}
publicstatic String getHtmlTitleMarkup(String htmlFile) {
try {
BufferedReader in =
new BufferedReader(new FileReader(new File(htmlFile)));
StringBuffer input =
new StringBuffer();
int ch;
while ((ch = in.read()) != -1)
input.append((
char) ch);
String patternString =
"<title>+[^\"]+</title>";
Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher((CharSequence) input);
while (matcher.find()) {
int start = matcher.start();
int end = matcher.end();
String match = input.substring(start, end);
toreturn = match;
}
}
catch (MalformedURLException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return toreturn.substring(7, toreturn.length() - 8).trim();
}

}
***  Kakol ***



Cette discussion est classé dans : java, classe, import, pattern, matcher


Répondre à ce message

Sujets en rapport avec ce message

Communication entre 2 classes pour une applet [ par Warwick ] Bonjour, je débute le java, et j'ai quelques petits problèmes pour faire communiquer 2 classes entre elles et j'aurais besoin de votre aide...Mon appl afficher résultat d'une classe dans une interface [ par ulysse00 ] bonsoir j'ai malheureusement un problème  j'ai une classe Simplefenetre1 qui execute un problème et je voulais afficher dans une autre classe SimpleFe java 6 et l'import static [ par adam12 ] J'ai aissayé de recommencer les base de java et comme il y'avait la version 6 de java j'ai essayé celle la avec eclips mais je n'arrive pas à utliser exemple de classe réseau en java [ par alias100 ] bonjour,est ce que vous pourrez m'aider à voir quelques exemples de classes programmée en java sur réseaucad traduit l'idee d'un reseau en classes qui conflit entre les composants et l'image [ par ulysse00 ] salut mes amis j'ai un pb que je n'arrive pas un résoudre et j'ai essayé plusieurs fois de modifier  le code mais ça n'a pas marché , je cherche a aff Probleme d'import ! [ par pyr0123 ] Bonjour,Je voudrais compiler un browser tt simple en java, j'ai donc pris le code de sun (JDIC) http://jdic.dev.java.net/mais, cest surement tout con, Java et base de données [ par nadias ] Bonjour a tous,Voila je dois ecrire une application en Java.J'ai une base de données et j'arrive a m'y connecter grace a une classe Connexion.java que JAVA : Recompiler les librairies [ par lulu42 ] Bonjour tout le monde !Je viens de developper une classe JAVA, mais je suis coincé car j'ai besoin d'accéder à des fonctions "private" de la classe ja Apparition non attendue d'une classe java [ par mimou01 ] Salut,j'ai un probléme que je n'ai pas su résoudre.En fait, quand j'execute ma classe java tout se passe bien et je n'ai pas des exceptions générés et java mail [ par mjmax ] Voila je fais une petite application pr pouvoir lire les mails recus sur ma messagerie electronique:Tout ce passe bien sauf que quand je veux afficher


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.