Lire un fichier en utilisant chemin absolue dans un JSP

Résolu/Fermé
AFATIHAA Messages postés 29 Date d'inscription vendredi 28 novembre 2014 Statut Membre Dernière intervention 11 avril 2017 - 31 août 2016 à 07:07
AFATIHAA Messages postés 29 Date d'inscription vendredi 28 novembre 2014 Statut Membre Dernière intervention 11 avril 2017 - 2 sept. 2016 à 01:45
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

KX Messages postés 16635 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 27 novembre 2022 2 981
31 août 2016 à 15:39
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.
1
AFATIHAA Messages postés 29 Date d'inscription vendredi 28 novembre 2014 Statut Membre Dernière intervention 11 avril 2017
Modifié par AFATIHAA le 31/08/2016 à 16:17
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
0
AFATIHAA Messages postés 29 Date d'inscription vendredi 28 novembre 2014 Statut Membre Dernière intervention 11 avril 2017 > AFATIHAA Messages postés 29 Date d'inscription vendredi 28 novembre 2014 Statut Membre Dernière intervention 11 avril 2017
31 août 2016 à 16:29
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);
0
KX Messages postés 16635 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 27 novembre 2022 2 981
31 août 2016 à 21:04
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.
0
AFATIHAA Messages postés 29 Date d'inscription vendredi 28 novembre 2014 Statut Membre Dernière intervention 11 avril 2017 > KX Messages postés 16635 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 27 novembre 2022
2 sept. 2016 à 01:45
ah !! ok c'est bon merci :)
0