L'obtention d'un fichier de ressources comme un InputStream en Playframework
Play.classloader.getResourceAsStream(filepath);
filepath - par rapport à quoi? racine du projet? playframework racine? chemin d'accès absolu?
Ou peut-être l'usage de Jouer.chargeur de classe.getResourceAsStream est mal?
Vous devez vous connecter pour publier un commentaire.
Dans le Jeu Cadre de la "conf" répertoire se trouve sur le chemin de la classe, de sorte que vous pouvez mettre votre fichier et l'ouvrir avec getResourceAsStream.
Par exemple, si vous créez un fichier "conf/foo.txt" vous pouvez l'ouvrir à l'aide de
Comme une alternative à l'utilisation de la
conf
dir (qui ne devrait être utilisé pour la configuration des fichiers liés), vous pouvez utiliser lepublic
dir et accès avec:Ou en Scala, avec:
Accepté la réponse est déconseillé de Jouer 2.5.x comme l'accès mondial à des choses comme un chargeur de classe est peu à peu éliminés. La méthode recommandée pour la manipulation de ce aller de l'avant consiste à injecter un
play.api.Environment
puis à l'aide de sonclassLoader
pour obtenir leInputStream
, par exempleInjecter
Environment
et ensuite appelerenvironment.resourceAsStream("filename");
Exemple:
Documentation: https://www.playframework.com/documentation/2.6.9/api/java/play/Application.html
Par rapport à la racine du classpath. Voilà, votre
WEB-INF/classes
+ tous les pots dansWEB-INF/lib
WEB-INF/classes