Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3019 connectés 

  FORUM HardWare.fr
  Programmation

  [Java] Performance, remplacer des tokens

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Performance, remplacer des tokens

n°190789
darklord
You're welcome
Posté le 06-08-2002 à 15:58:05  profilanswer
 

Yep tous,
 
Mon problème est le suivant. J'ai un certain nombre de template content des tags du genre $ID$. Ces templates en question sont en réalités des emails dans lesquels je dois remplacer le tag par une valeur précise.
 
J'ai un problème de perf d'un coté et un choix d'implémentation de l'autre.
 
1. Quel genre d'outil/classe utiliseriez vous pour remplacer dans une String standard un certain nombre de token (Il y a beaucoup de tag différent mais je dirais qu'on doit en remplacer une dizaine par String à tout casser
 
2. Comment feriez vous pour optimiser la chose sachant que les données peuvent se trouver en base (et donc ca ne sert à rien par exemple de prendre toutes les valeurs si certaines tags ne sont pas présents).
 
Si c'est pas clair dites le moi. Là je cherche de mon coté :)


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 06-08-2002 à 15:58:05  profilanswer
 

n°190803
--greg--
Posté le 06-08-2002 à 16:06:39  profilanswer
 

velocity :D

n°190805
darklord
You're welcome
Posté le 06-08-2002 à 16:07:01  profilanswer
 

--greg-- a écrit a écrit :

velocity :D




 
toi tu commences pas à m'ennuyer hein !


---------------
Just because you feel good does not make you right
n°190807
--greg--
Posté le 06-08-2002 à 16:08:08  profilanswer
 

DarkLord a écrit a écrit :

 
 
toi tu commences pas à m'ennuyer hein !



nan mais c vrai hein
y'a ptet meme moyen de l'utiliser de maniere legere

n°190811
benou
Posté le 06-08-2002 à 16:11:13  profilanswer
 

  • String.indexOf()
  • new Stringbuffer(string)
  • StringBuffer.replace(int start, int end, String str)

n°190813
--greg--
Posté le 06-08-2002 à 16:13:03  profilanswer
 

benou a écrit a écrit :

  • String.indexOf()
  • new Stringbuffer(string)
  • StringBuffer.replace(int start, int end, String str)




mais y'a pas d'indexOf sur le stringbuffer. OR, apres avoir remplacé un tag, tu peux plus faire le indexOf sur la String d'origine vu que t'as changé le bidule
euh
enfin tu vois quoi

n°190814
benou
Posté le 06-08-2002 à 16:14:08  profilanswer
 

ben y a qu'à faire un lastIndexOF : si tu commences par la fin, t'as plus de problème ! ;)


Message édité par benou le 06-08-2002 à 16:14:18
n°190815
darklord
You're welcome
Posté le 06-08-2002 à 16:15:46  profilanswer
 

comme le dit greg il y a X tags à remplacer mais le deal c'est que je les connais pas à l'avance.
 
Pour etre plus clair, j'ai une liste de tags:
 
$ID
$BROL
$MACHIN
 
...
 
puis je recois des String à parser et ces strings peuvent contenir 0 tags, 1 tags ou plusieurs tags. Mais je ne connais ni leur nombre, ni le type. Donc je dois trouver le moyen le plus efficace pour
 
Trouver les tags
Les remplacer
Ne pas aller chercher des valeurs inutiles (donc éviter d'aller chercher l'info pour tous les tags possible puis remplacer 2 ou 3 tags)


---------------
Just because you feel good does not make you right
n°190817
benou
Posté le 06-08-2002 à 16:16:51  profilanswer
 

tu voudrais pas qu'on te sorte l'ago tout fait là quand même ...

n°190819
benou
Posté le 06-08-2002 à 16:17:15  profilanswer
 

boulay ! ;)

mood
Publicité
Posté le 06-08-2002 à 16:17:15  profilanswer
 

n°190820
darklord
You're welcome
Posté le 06-08-2002 à 16:18:37  profilanswer
 

rigole. Je sais pas ce que j'ai pour le moment mais je suis incapable de faire 2+2 tout seul ...
 
ca m'énerve grave. Là je fais mon diagramme de classe et j'ai posté juste pour voir si qqun n'avait pas déjà eu le coup, c'est tout :fou:


---------------
Just because you feel good does not make you right
n°190821
benou
Posté le 06-08-2002 à 16:19:51  profilanswer
 

sans dex, tu créé le bufferString, tu recherche dans la string tous les $ pour trouver les tags, tu fais les recherches qui conviennent dans ta base, et tu les remplace dans le string buffer en partant de la fin (pour que les index restent les bons).
 
Je crois pas qu'il y aiot plus simple/efficace

n°190823
benou
Posté le 06-08-2002 à 16:20:57  profilanswer
 

DarkLord a écrit a écrit :

 
ca m'énerve grave. Là je fais mon diagramme de classe et j'ai posté juste pour voir si qqun n'avait pas déjà eu le coup, c'est tout :fou:




houlala ... t'as l'air tout vénère dis donc ... :(
 
ca te vas pas le truc que j'ai dit ?
 

n°190827
gfive
Posté le 06-08-2002 à 16:25:46  profilanswer
 

bah, moi, j'ai fait un truc qui remplace des string par autre chose dans une String... (des smileys, en l'occurence)..
Mais dis..charger toutes les correspondances depuis ta base, c'est pas vraiment un problème : tu le fais en statique, et tu gardes les correspondances en statique, non??
 
Après, si tu es en JDK 1.4, tu as le package javax.regexp (je crois) qui doit être assez optimisé au niveau performance, surtout que tu n'utilisera pas de wildcards (*, $, ., etc..)

n°190831
darklord
You're welcome
Posté le 06-08-2002 à 16:32:10  profilanswer
 

benou a écrit a écrit :

 
houlala ... t'as l'air tout vénère dis donc ... :(
 
ca te vas pas le truc que j'ai dit ?
 
 




 
si si ;)
 
 :hello:


---------------
Just because you feel good does not make you right
n°190832
darklord
You're welcome
Posté le 06-08-2002 à 16:33:00  profilanswer
 

gfive a écrit a écrit :

Mais dis..charger toutes les correspondances depuis ta base, c'est pas vraiment un problème : tu le fais en statique, et tu gardes les correspondances en statique, non??




 
Le deal c'est que l'information est différente à chaque fois. Tu as une template par mail mais chaque mail va prendre des donnés différentes (un record différent je veux dire).
 
Pense à un nom de client par exemple ...


---------------
Just because you feel good does not make you right
n°190939
gfive
Posté le 06-08-2002 à 17:44:55  profilanswer
 

Ah ouais, merde, ça pue du rond! :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Java] Performance, remplacer des tokens

 

Sujets relatifs
[JS] Remplacer un mot dans une string[Java] Pbr récupération d'un InputStream a partir de lib COS....
[Java] installation de postgresql avec JDBC[Xerces ?] Parser du HTML en Java
[java] equivalent d'un tableau de structure mais en java.[Java] Configuration du classpath
[Java] Affichage d'images, je lutte[java] utilisation de timeZone
[java] lire un fichier excell[JAVA/Eclipse] Pb de CLassLoader sous Eclipse [CONTOURNé]
Plus de sujets relatifs à : [Java] Performance, remplacer des tokens


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR