# Absoluter Pfad.



## MH (30. Nov 2007)

Hallo,

ich möchte von einer Javaklasse zur Laufzeit den absoluten Dateipfad bestimmen. Wie könnte so etwas funktionieren?

Beispiel: Wie kann die Javaklasse xy.class rausfinden, dass sie im Ordner C:/java/com/firmax/mueller/anwendung/tools liegt?

Vielen Dank für eure Hilfe!

Marcel


----------



## SlaterB (30. Nov 2007)

```
public class Test
{

    public static void main(String[] args)
        throws Exception
    {
        URL url = Test.class.getResource(".");
        System.out.println(url.getPath());
    }

}
```


----------



## MH (30. Nov 2007)

Jawohl, genau das habe ich gesucht. Vielen vielen Dank!


----------



## Wildcard (30. Nov 2007)

Das ist nicht das Verzeichnis in dem sich die Klasse befindet, sondern user.dir.


----------



## SlaterB (30. Nov 2007)

hmm, und wieso bekomme ich unterschiedliche Ausgaben,
wenn ich mal am package variiere und auch eine andere Klasse einbinde?


```
package org.apache.fop.plan;

import test.TestGUI;

import java.net.URL;

public class Test
{

    public static void main(String[] args)
        throws Exception
    {
        URL url = Test.class.getResource(".");
        System.out.println(url.getPath());

        url = TestGUI.class.getResource(".");
        System.out.println(url.getPath());
    }

}
---------

/C:/Programme/Eclipse/workspaceJabbusch/Test2/bin/org/apache/fop/plan/
/C:/Programme/Eclipse/workspaceJabbusch/Test2/bin/test/
```

edit:
bei 
 url = URL.class.getResource(".");
        System.out.println(url.getPath());

gibts ne NullPointerException


----------



## Wildcard (1. Dez 2007)

Du verlässt dich auf die Funktionalität des Classloaders, welcher dir zur Laufzeit in der Regel nicht bekannt ist.
Des weiteren läuft die Sache in aller Regel in einem jar, was eine andere Ausgabe zur Folge haben wird.
Der Weg ist ja grundsätzlich in Ordnung, allerdings fehleranfällig.


----------



## The_S (2. Dez 2007)

http://www.java-forum.org/de/viewtopic.php?t=53599&highlight=class+verzeichnis


----------

