2016-07-20 22 views
-2

Ich habe eine Java-Web-Anwendung, die Dateien aus dem System liest, können diese Dateien überall auf dem System sein.Relative Pfad vs absolute Pfade

Ich weiß, wenn die Datei in der Webapp selbst ist es immer besser relativen Pfad zu verwenden, aber für Dateien außerhalb ist es besser, absolut oder relativ zu verwenden? Ich denke nur, dass es relativ sinnlos ist, mit Verwandten zu arbeiten, aber viele ältere Entwickler haben vorgeschlagen, dass ich relativiere.

Würde Interesse daran haben, Gedanken zu hören, und was ist die Praxis?

+0

Es ist nicht wirklich wichtig, solange der Code funktioniert. Wenn Ihre älteren Entwickler anders denken, fragen Sie sie, warum. – EJP

+0

Würde dieser Beitrag besser zu den StackExchange-Programmierern passen? – Ephi

+0

@Ephi bei der Bezugnahme auf andere Websites ist es oft hilfreich, darauf hinzuweisen, dass [Cross-Posting] verpönt ist (http://meta.stackexchange.com/tags/cross-posting/info) – gnat

Antwort

0

Normalerweise sollten Sie immer relative Pfade verwenden, wo möglich. Dies ist die Best Practice.

Aber wenn Sie absolut sicher sein können (sicher?), Dass die Datei dort bleibt und außerhalb Ihrer eigentlichen Anwendung ist, können Sie sie mit einem absoluten Pfad beziehen, und es sollte in Ordnung sein.

Es gibt keine wirklichen Regeln für verwenden, wenn die ... Id verwenden es nur für externe Sachen wie diese

Der Vorteil, den Sie mit relativen Pfaden erhalten, offensichtlich ist, dass seine viel mehr dynamisch dann mit absoluten Pfaden.

0

Es hängt nur davon ab, was Sie wissen. Sie haben eine Webapp - das bedeutet, dass sie auf einem Server (wie Glassfish) bereitgestellt wird.

  • bis auf die Ebene der Server-Ordner es besser sein wird, relative Pfade zu verwenden - weil Sie die Dateistruktur bis zu diesem Zeitpunkt wissen und alles ohne zusätzliche Kenntnisse über den Rest des Dateisystems lokalisieren können.
  • Für Dateien außerhalb können Sie nichts garantieren (es ist völlig legal, die Serverinstallation absolut irgendwo auf dem System zu installieren und zu verschieben), so dass absolute Pfade flexibler sind.