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 pb regex java [ par thesleeper ] Bonjour, je travaille actuellement sur les regex en Java. j'ai un ptit pb. le code suivant marche super bien. Mais kand je lis le meme regex , stocké jasperreport\ireport recupérations de données depuis une classe java [ par armstrong0000 ] Bonjour à tous, J'ai un problème concernant la récupération de données depuis une class que j'ai créer en java, je vous explique, par exemple j'ai u java: java.lang.ClassCastException [ par betty555 ] Bonjour, Pourriez vous m'aider svp,public abstract AbstractInitCarte extends IInitCarte{ //IInitCarte interface de InitCartepublic AbstractInitCarte g acceder a un fichier java à partir d'une classe jave qui se trouve dans le méme projet [ par marwanos001 ] salutj'ai un problème dans un projet java que je fait:je veux acceder à un fichier d'extension X a partir d'une classe java sans mettre le chemin de c probleme sur ajax.. debutant.. :p [ par meksoft002 ] salut, Je developpe un "projet web" j2ee avec eclipse et je voudrais introduire ajax.. j'ai comencé a essayé un exemple (que j'ai copié depuis un sit BESOIN D'AIDE SVP ET MERCI URGENT JAVA [ par lerenard84 ] Bonjour,Bonjour s'il vous plait j'ai besoin vraiment de votre aide.. j'ai un devoir a rendre un java.. et je suis assez null en java.. donc l'énnoncé PROBLEME DE FICHIER [ par daryussssssss ] Bonjours, je suis actuellement en train de crée un carnet d'adresse et j'ai un petit probleme, c 'est qu'en faite j'enregistre les données dans un fic Java Desktop Application & JPanel [ par komus ] Bonjour,Je vous expose mon problème. Je veux développer une classe qui hérite de JPanel pour ensuite l'utiliser pour les fenetre que je crée. Je trava


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,702 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é.