Frage

Im Moment arbeite ich mit einem Team auf einem Spiel! Rahmen App. Mit dem nächsten User Story habe ich einige andere Dateiänderungen zu implementieren, wie eine Datei in einem definierten Verzeichnis verschieben.

Weil wir auf verschiedenen Plattformen arbeiten, ich bin nicht immer sicher, ob die App den richtigen Weg hat. Also habe ich mit einem absoluten Pfad des App-Verzeichnis arbeiten möchten.

Wie kann ich den absoluten Pfad eines Spiels erhalten! app? Gibt es eine Methode für das?

War es hilfreich?

Lösung

Diese Antwort gilt nur für ältere Versionen des Play-Framework, bevor v2.

Wiedergabe hat einen Anwendungspfad Eigenschaft:

String projectRoot = Play.applicationPath;

Dies wird Ihnen das Verzeichnis das Abspielen von ausgeführt wird.

Ich denke, eine bessere Praxis des Verzeichnis außerhalb des Projektes bewegt Verzeichnis installieren und den Pfad, um es in Ihrem application.conf als Eigenschaft platzieren. Sie rufen es dann bei Bedarf. Zum Beispiel:

Application.conf:

my.file.path=/tmp/whatever

Code:

String projectRoot = Play.configuration.getProperty("my.file.path");

Andere Tipps

Seit Version 2.5.0 ist play.Play Klasse veraltet. Es wird einzuspritzen play.Environment empfohlen und das Verfahren wie folgt verwenden:

public File rootPath();

Die play.Environment Singleton enthält auch einige sehr praktische Methode, die Dateien mit relativen Pfad liefern z.

public File getFile(String relativePath);
public URL resource(String relativePath);
public InputStream resourceAsStream(String relativePath);

Als Spiel 2.0:.. Play.Play.application () Pfad () getAbsolutePath ()

Keiner von denen auf meiner Version des Spiels gearbeitet, so habe ich diese statt: Play.current (). Pfad (). GetAbsolutePath ()

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top