Comment accéder à un fichier sous le dossier WEB-INF dans la classe java
J'ai une simple classe java dans une application web et que vous voulez lire un fichier de configuration sous WEB-INF
dossier. Je connais le chemin pour accéder au fichier si son dans le classpath (WEB-INF/classes
dossier). Depuis WEB-INF/classes
dossier est destiné à .class
fichiers, je veux garder mon fichier de configuration sous WEB-INF
dossier.
Quelqu'un peut me dire comment je peux y accéder à partir de ma classe java?
source d'informationauteur Newbie
Vous devez vous connecter pour publier un commentaire.
ServletContext.getResourceAsStream() va charger un fichier à partir d'un chemin relatif à la racine de la GUERRE de fichier. Quelque chose comme:
Le problème majeur ici est que vous avez besoin d'accéder à la servlet contexte pour être en mesure de le faire. Vous avez dans un servlet ou un filtre, mais pas dans un non-composant web plus loin dans l'application. Vous avez plusieurs options:
Vous pouvez obtenir le chemin absolu de la servlet utilisant
getRealPath()
méthode deServletContext
puis ajouterWEB-INF
pour le chemin d'accès que vous obtenez. Je pense que c'est très basique, il peut y avoir quelques autres réponses."new FIleInputStream(
Utilitaire.classe.getClassLoader().getResource(keyFileName).getPath()
)"
a travaillé pour moi.
Ici "Utilitaire" est mon nom de la classe où le code est à l'appel de cette ligne , "keyFileName" est le fichier que j'ai besoin d'ouvrir
hey you all care for context related file loading like application context , web.xml ,config and property file
Ici est de savoir comment charger un fichier java tout type de fichier sous
WEB-INF
mais il est stocké dans un autre stucture comme un sous-dossierreportFile
le votre dossier ou sous-dossier de nouveaureport01
--fullpath is = /WEB-INF/reportFile/report01/report.xml
,j'ai essayé de nombreuses possibilités pour charger et lire ce fichier xml ...aucun des ci-dessus a fonctionné pour moi mais , voici l'astuce pour une utilisation future...In Action or inservice class you know interface implementation class
pasimports
qui est en bonne partie aussi.déclarer votre fichier objet
2.Charger le chemin d'accès par la suppression de
classes
à partir de ci-dessus et ajouter votre chemin spécifiquePuis
vous pouvez même l'analyser à l'aide de xml ou de faire quelque chose
Cheers!!