Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- Java File problem (http://www.informatikerboard.de/board/thread.php?threadid=567)


Geschrieben von JoTheGunny am 11.08.2009 um 09:37:

  Java File problem

Nach der Erstellung eines Jar-Archives hab ich das problem, dass das Programm das nicht auf das eigene jar Archiv zugreifen kann und nicht auf die dateien, die das programm benötigt. Unter Linux ist mir aufgefallen, dass sich die File auf den persöhnlichen Ordner stellt und nicht auf den Ordner indem das jar Archiv ist. Von einigen Windowsnutzern, denen ich einige programme gegeben habe, hab ich erfahren, dass das bei denen so ähnlich ist. Wenn ich das Programm aber mit NetBeans starte, dann ist die File im richtigen Ordner. Meine Frage: Wie kann man das durch Programmierung bewirken, dass bei new File(""); der Ordner des Jar Archives gesetzt ist und nicht der persöhnliche Ordner?



Geschrieben von Fynn am 12.09.2009 um 10:44:

 

Hallo!

Da hilft ein kurzer Blick in die Java-Api:

"public File(String pathname)

Creates a new File instance by converting the given pathname string into an abstract pathname. If the given string is the empty string, then the result is the empty abstract pathname.

Parameters:
pathname - A pathname string"


Du übergibst dem Kontruktor nicht den leeren String, sondern den String, der dem Pathname entspricht, wo du das File haben willst.



Geschrieben von JoTheGunny am 16.09.2009 um 12:55:

 

so schlau bin ich auch, das mit dem lehren String war ein Beispiel. Also, wenn das Jar-Archiv in den Ordner app ist und in den Ordner app ein Ordner system ist und ich new File("system" + File.separator + "config.properties" ); verwende ist der Pfad aufeinmal "/home/johannes/system/config.properties" und nicht "/home/johannes/Desktop/app/system/config.properties". Das ist das Problem.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH