Lire un fichier en utilisant chemin absolue dans un JSP

[Résolu/Fermé]
Signaler
Messages postés
29
Date d'inscription
vendredi 28 novembre 2014
Statut
Membre
Dernière intervention
11 avril 2017
-
Messages postés
29
Date d'inscription
vendredi 28 novembre 2014
Statut
Membre
Dernière intervention
11 avril 2017
-
Bonjour,

Je veux lire mon fichier qui se trouve dans mon projet ou Workspace mais avec un chemin absolue sous Eclipse.

j'ai utilisé ce code la mais ca ne fonctionne pas !

OutputStreamWriter outt=null;
outt=new OutputStreamWriter(new FileOutputStream (new File("WebContent/donnees/Modules.xml")),"UTF-8");
BufferedWriter ops=new BufferedWriter(outt);

voilà où j'ai placer mon fichier dans cette image




1 réponse

Messages postés
16408
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 octobre 2021
2 901
Bonjour,

À partir du moment où ton application web est déployée sur un serveur, la localisation de ton fichier au sein de ton projet Eclipse n'a plus aucun sens.

Ce qu'il faut c'est regarder la structure du fichier war obtenu après la compilation du projet pour savoir sous quelle arborescence se trouve ton fichier.

Dans tout les cas, tu ne pourras pas y accéder avec un chemin absolu, puisque la ressource étant dans le war ce n'est pas considéré comme un fichier à part entière.
Par ailleurs tu ne pourras y accéder qu'en lecture, jamais tu ne pourras aller écrire dans le war pour le modifier.

Si tu veux utiliser un fichier en écriture il te faut un dossier dédié, que tu pourrais par exemple passer en paramètre de ton serveur via un fichier .properties dans le war, ou via une variable système.
Messages postés
29
Date d'inscription
vendredi 28 novembre 2014
Statut
Membre
Dernière intervention
11 avril 2017

Avec un chemin relative ca fonctionne ? pour moi nn car le fichier.xml sera comme une base de données. je veux qu'il va etre dans mon projet
Messages postés
29
Date d'inscription
vendredi 28 novembre 2014
Statut
Membre
Dernière intervention
11 avril 2017
>
Messages postés
29
Date d'inscription
vendredi 28 novembre 2014
Statut
Membre
Dernière intervention
11 avril 2017

j'ai essayer ceci mais encore ne fonctionn pas

in=new InputStreamReader(new FileInputStream("http://localhost:8080/hjgh/donnees/Modules.xml"), Charset.forName("UTF-8"));
BufferedReader buff=new BufferedReader(in);
Messages postés
16408
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 octobre 2021
2 901
localhost ce n'est pas un emplacement de fichier sur le disque, mais un alias de ton pc sur le réseau.

Et les chemins relatifs ne fonctionneront pas car tu serais relatif à quoi ? Dans un serveur web tu es isolé du reste du pc.

Ce qu'il te faut je te l'ai déjà dit. Un répertoire dédié défini (en chemin absolu) dans un fichier de configuration ou une variable d'environnement.
Messages postés
29
Date d'inscription
vendredi 28 novembre 2014
Statut
Membre
Dernière intervention
11 avril 2017
>
Messages postés
16408
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 octobre 2021

ah !! ok c'est bon merci :)