Bonjour ,
J´ai un probleme technique a resoudre et je ne m´en sors pas!! J´ai des fichiers INI qui pernettent de configurer des applications . Ces fichiers INI ont plus ou moins cette syntaxe :
[Database]
DBMS = XX
servername = XX
logon type = XX
DbParm = XX
[logon]
SecureUser =*XX
SecurePassword =*XX
[Mode]
mode = XX
ShowLanguage = XX
J´ai une appli java qui permet de configurer a l´aide d´une interface graphique ces parametres dans le fichier INI .
Mon probleme est que les parametres SecureUser et SecurePassword sont cryptees a l´aide d´une DLL externe (Powerbuilder) .Et que certains des caracteres du string crypte resultant ne sont pas lisible par Java ...
Lorsque je veux changer ces parametres , pas de probleme j´appelle ma DLL .
Par contre , si je veux changer un parametre non crypte , je dois faire des ReadLine () en envoyant chacune des lignes dans un Printwriter , quand je trouve la ligne qui m´interesse je cree une ligne diffferente et l´envoie dans le PrintWriter . Mais inevitablement je suis amene a lire les parametres cryptees pour les envoyer dans le Printwriter car il n´est pas possible si je me trompe de remplacer directement une ligne dans un fichier !!
Du coup dans le ficheir INI resultant , les string cryptees comportent des ? pour les caracteres qu´il n´arrive pas a lire .
Du coup , je dois trouver un moyen de pouvoir remplacer une ligne sans avoir a copier entierement le fichier . Je ne peux pas utiliser la classe RandomAccessFile car les parametres ont une valeur variable .
Je ne veux et peux pas non plus rappeller ma DLL a chaque fois que je dois reecrire le parametre crypte lorsque je configure un parametre non crypte . Cela influe beaucoup trop sur les performances du logiciel .
Je dois donc trouver une solution technique pour remplacer seulement une ligne d´un fichier ou bien ecrire et lire en meme temps dans le fichier . Quelqu´un dispose t il du savoir faire technique pour resoudre ce probleme ?
Merci beaucoup !!
Partager