Comment puis-je trouver le chemin absolu à une application Google Play cadre?
-
27-09-2019 - |
Question
En ce moment, je travaille avec une équipe sur Play! app-cadre. Avec la prochaine histoire d'utilisateur, je dois implémenter des modifications de fichiers différents, tels que le déplacement d'un fichier dans un répertoire défini.
Parce que nous travaillons sur différentes plates-formes, je ne suis pas toujours vraiment sûr si l'application a le droit chemin. Donc, je veux travailler avec un chemin absolu du répertoire de l'application.
Comment puis-je obtenir le chemin absolu d'un jeu! app? Y at-il une méthode pour cela?
La solution
Cette réponse applique uniquement aux anciennes versions du Framework Play, avant v2.
Lecture a un chemin d'application propriété:
String projectRoot = Play.applicationPath;
Cela vous donnera le répertoire que le jeu est en cours d'exécution à partir.
Je pense qu'une meilleure pratique se déplace à l'extérieur du répertoire de votre projet répertoire d'installation et de placer le chemin d'accès dans votre application.conf
comme une propriété. Vous récupérez alors il en cas de besoin. Par exemple:
application.conf:
my.file.path=/tmp/whatever
Code:
String projectRoot = Play.configuration.getProperty("my.file.path");
Autres conseils
Depuis la version 2.5.0 , classe play.Play
est dépréciée. Il est recommandé de play.Environment
injecter et utiliser la méthode comme suit:
public File rootPath();
Le singleton play.Environment
contient également une méthode très pratique, qui fournissent les fichiers par chemin relatif par exemple.
public File getFile(String relativePath);
public URL resource(String relativePath);
public InputStream resourceAsStream(String relativePath);
de jeu 2.0:.. Play.Play.application () chemin () getAbsolutePath ()
Aucun de ceux travaillé sur ma version de jeu, donc je ceci: getAbsolutePath ()
Play.current () chemin ()..