Bonjour,
Mon programme lit d'abord son fichier de configuration xml depuis le code suivant, d'une classe statique dont les variables sont privées:
tout ça fonctionne parfaitement!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SAXBuilder builder = new SAXBuilder(false); builder.setReuseParser(false); try { doc = builder.build(new File(nomFich)); racine = doc.getRootElement(); ...
L'utilisateur choisit ensuite le projet sur lequel il veut travailler et le programme lit alors le fichier de configuration XML du projet, dans un dossier tout à fait différent (celui du projet). (La classe est statique et les variables privées)
La ligne indiquée génère l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SAXBuilder builder = new SAXBuilder(false); builder.setReuseParser(false); try { doc = builder.build(new File(nomFich)); <-- ERREUR ... } //try catch (Exception exc) { System.out.println("Erreur en lisant le fichier\n" + nomFich + "\n" + exc.getMessage());
La 2e ligne démontre que le nom du fichier est correct.Erreur en lisant le fichier
C\:\\Documents and Settings\\AlainP\\Mes documents\\Temp\\main\main.xml
C:\Documents and Settings\AlainP\Mes documents\Info\Java\ZonesImages\C\:\Documents and Settings\AlainP\Mes documents\Temp\main\main.xml (Syntaxe du nom de fichier, de répertoire ou de volume incorrecte)
MAIS (3e ligne et suivantes, le message d'erreur) SAXBuilder a ajouté ce chemin au chemin du premier fichier XML qu'il a lu (la configuration du programme).
Question(s):
Peut-on lire des fichiers XML dans des dossiers différents?
Comment peut-on «réinitialiser» SAXBuilder (J'ai cru que «builder.setReuseParser(false);» aurait pu... mais que non!
Merci de votre aide.
Partager