Dateipfad in Java abrufen

8

Gibt es eine Möglichkeit für Java-Programm, seinen Speicherort im Dateisystem zu bestimmen?

    
markovuksanovic 26.05.2010, 15:28
quelle

3 Antworten

11

Sie können CodeSource#getLocation() Dafür. Die CodeSource ist verfügbar unter %Co_de% . Die ProtectionDomain#getCodeSource() wiederum ist verfügbar von ProtectionDomain .

%Vor%

Dies gibt den genauen Ort des Class#getProtectionDomain() zurück.

Update : laut den Kommentaren ist es anscheinend schon im Klassenpfad. Sie können dann einfach Class verwenden. , in dem Sie den root-package-relativen Pfad übergeben.

%Vor%

Sie können es sogar als ClassLoader#getResource() mit InputStream .

%Vor%

Das ist auch die übliche Art, verpackte Ressourcen zu verwenden. Wenn es sich in einem Paket befindet, verwenden Sie stattdessen beispielsweise ClassLoader#getResourceAsStream() .

    
BalusC 26.05.2010, 15:29
quelle
0

Für mich funktionierte das, als ich wusste, wie genau die Datei hieß:

File f = new File("OutFile.txt"); System.out.println("f.getAbsolutePath() = " + f.getAbsolutePath());

Oder es gibt auch diese Lösung: Ссылка

    
Akabelle 20.02.2014 11:19
quelle
-1

Wenn Sie das "Arbeitsverzeichnis" für das gerade laufende Programm bekommen wollen, dann benutzen Sie einfach:

%Vor%     
james 26.05.2010 16:01
quelle

Tags und Links