JFileChooser setCurrentDirectory() - Verzeichnis relativ zum Code/binary

Mappenz

Bekanntes Mitglied
Hi,

ich möchte ein Verzeichnis im für einen JFileCooser vorgeben.
Java:
		try {
			File f = new File(new File(".").getCanonicalPath());
			chooser.setCurrentDirectory(f);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		int returnVal = chooser.showOpenDialog(frame);

Meine Verzeichnisstruktur sieht so aus
Code:
C:
|-...
|-benutzer
          |
           ...
              |-workspace
                         |-Project                           
                                 |-src
                                 |-bin
                                 |-icons
              |-Dokumente
|-eclipse

mit dem Punkt
Code:
File f = new File(new File(".").getCanonicalPath());
komme ich ins eclipse verzeichnis. Mit "/icons" mysteriöserweise nach Dokumente. Ich will aber nach icons.
 

Mappenz

Bekanntes Mitglied
In jedem Fall ne gute Idee. Aber bringt leider auch nicht den gewünschten Effekt. Damit komme ich nur in mein Benutzerverzeichnis.
 

Pepe Rohny

Aktives Mitglied
In jedem Fall ne gute Idee. Aber bringt leider auch nicht den gewünschten Effekt. Damit komme ich nur in mein Benutzerverzeichnis.

Mag sein - denn liegt das Programm aber auch in deinem Benutzerverzeichnis - oder?

Ich benutze
Java:
private static final String SYSTEM_PATH = new File(".").getAbsolutePath() + File.separator;
in meinen Programmen.

Java:
private static final String ICONS_PATH = SYSTEM_PATH + "icons" + File.separator;
ist dann eine Konstante für den Zugriff auf das "icons"-Verzeichnis.

So funktioniert das zumindest in meinen Programmen.

Pepe
 

Michael...

Top Contributor
Ich benutze
Java:
private static final String SYSTEM_PATH = new File(".").getAbsolutePath() + File.separator;
in meinen Programmen.
das selbe liefert Dir doch
Code:
System.getProperty("user.dir")
?

@Mappenz: Dir geht es darum herauszufinden in welchem Verzeichnis die Klasse bzw. das Package liegt?
 

mvitz

Top Contributor
Code:
new File(".")
liefert übrigens das Verzeichnis zurück, aus dem die Anwendung gestartet wurde (und das ist eben nicht zwangsweise
Code:
System.getProperty("user.dir")
(Auch wenn ein Doppelklick auf ein JAR unter Windows zu diesem Ergebnis führt!)
 

Michael...

Top Contributor
Code:
new File(".")
liefert übrigens das Verzeichnis zurück, aus dem die Anwendung gestartet wurde
Bei mir liefert System.getProperties("user.dir") immer das Verzeichnis aus dem die Applikation gestartet wurde, unabhängig davon ob diese als jar per Doppelclick über Konsole/Batch aus einem beliebigen Verzeichnis gestartet wurde.

Allerdings habe ich diese Property erst ein einziges Mal seit dreizehn Jahren Java wirklich gebraucht und habe User's current working directory immer mit Verzeichnis aus dem die Applikation gestartet wurde gleich gesetzt.
 

Pepe Rohny

Aktives Mitglied
"." ist das aktuelle Verzeichnis.

mit
Java:
new File(".")
kann man das Verzeichnis bekommen, das das Wurzelverzeichnis der laufenden Anwendung ist. Mit dieser Information kann man dann weiter arbeiten

ich kenne jetzt nicht die Doku zu
Java:
System.getProperty("user.dir")
- vermute aber mal, das es nicht das home-Verzeichnis liefert (wie man vermuten könnte), sondern das aktuelle

wie das bei Windows ist weiss ich nicht, gehe aber davon aus, dass es genau so ist

Pepe
 

mvitz

Top Contributor
Ok, habs gerade mal ausprobiert.

Es scheint in der Tat so zu sein, dass beide Ausgaben dasselbe Ergebnis liefern, ABER man kann sich nicht darauf verlassen, dass sie den Pfad ausgeben, in dem sich das JAR File befindet.

Beispiel
Java:
package de.mvitz.test.jf.workingdir;
import java.io.File;
import javax.swing.JOptionPane;
public final class Test {
    public static void main(String[] args) {
        final String message = new StringBuilder()
            .append("new File(.).getAbsolutePath() --> ").append(new File(".").getAbsolutePath()).append("\n")
            .append("System.getProperty(user.dir)  --> ").append(System.getProperty("user.dir"))
        .toString();
        JOptionPane.showMessageDialog(null, message);
    }
}

Diese Klasse liegt in einem JAR: D:\test.jar und im Manifest ist die Klasse als Main-Class definiert.
Ausführung per Doppelklick liefert für beides D:\test.jar (bzw. D:/test.jar aber das ist jetzt mal identisch).
Führt man jetzt das JAR aber über eine Konsole (z.B. cmd unter Windows) vom Verzeichnis C:\ aus, dann wird eben C:\ ausgegeben und nicht mehr D:\test.jar!
 

Michael...

Top Contributor
Führt man jetzt das JAR aber über eine Konsole (z.B. cmd unter Windows) vom Verzeichnis C:\ aus, dann wird eben C:\ ausgegeben und nicht mehr D:\test.jar!
So meinte ich das ja auch. Gilt aber für
Code:
"user.dir"
und
Code:
 new File("").getAbsolutePath()
? Es wird jeweils das Verzeichnis zurückgegeben aus dem das Programm ausgeführt/gestartet wurde.

Wenn es allerdings darum geht heraus zufinden, wo das Archive oder die Klassen liegen - deswegen meine Frage an den Thread Owner - hilft das nichts. Dazu könnte man den ClassLoader "verwenden" und die URL die
Code:
getResource("")
liefert auswerten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S jfilechooser setcurrentdirectory AWT, Swing, JavaFX & SWT 2
Tommy135 JFileChooser ist sehr langsam AWT, Swing, JavaFX & SWT 13
T JFileChooser ist Englisch und bleibt Englisch und bleibt Englisch... AWT, Swing, JavaFX & SWT 15
M Swing jFileChooser Header viewTypeDetails setFont AWT, Swing, JavaFX & SWT 0
I JFileChooser mit System L&F bei anderem L&F der eigtl. Anwendung AWT, Swing, JavaFX & SWT 0
Meeresgott AWT JFileChooser bestimmte Ordner anzeigen AWT, Swing, JavaFX & SWT 16
S Swing JFileChooser best. Ordner wie Dateien behandeln AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser für nicht existierendes Unterverzeichnis AWT, Swing, JavaFX & SWT 3
javampir Swing Anzeige der FileFilter im JFileChooser AWT, Swing, JavaFX & SWT 0
L JFileChooser Datentyp Unterscheidung AWT, Swing, JavaFX & SWT 6
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
H JFileChooser Dateinamen vorgeben (Save Dialog) AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing JFilechooser - Detailansicht AWT, Swing, JavaFX & SWT 0
M JFileChooser Look and Feel AWT, Swing, JavaFX & SWT 2
T JFileChooser Rahmenfarbe ändern AWT, Swing, JavaFX & SWT 1
K Pfad mit JFileChooser ausgeben lassen AWT, Swing, JavaFX & SWT 7
C JFileChooser hängt bei Ausführung mit Terminal AWT, Swing, JavaFX & SWT 2
T Swing JFileChooser und FileView AWT, Swing, JavaFX & SWT 4
M Einzelne Ordner im JFileChooser ausgrauen? AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser inline editing AWT, Swing, JavaFX & SWT 4
D JFileChooser anpassen AWT, Swing, JavaFX & SWT 5
AssELAss Verzeichnis JFileChooser aktualisieren AWT, Swing, JavaFX & SWT 0
A JFileChooser Datei speichern AWT, Swing, JavaFX & SWT 4
A Datei weiterverwenden mit JFileChooser AWT, Swing, JavaFX & SWT 6
T Importer-Auswahl im JFileChooser AWT, Swing, JavaFX & SWT 3
N JFileChooser bzw. FileDialog Problem AWT, Swing, JavaFX & SWT 10
A Swing JFileChooser - Größenänderung nach Aufruf von showOpenDialog() AWT, Swing, JavaFX & SWT 15
D Serverdirectory auf Client browsen mit JFileChooser AWT, Swing, JavaFX & SWT 7
F icon aus exe auslesen mithilfe des JFilechooser ? AWT, Swing, JavaFX & SWT 4
C JFileChooser und Netzwerk Laufwerke AWT, Swing, JavaFX & SWT 4
Iron Monkey JFileChooser - Drag and Drop AWT, Swing, JavaFX & SWT 5
J JFileChooser - Datei speichern AWT, Swing, JavaFX & SWT 7
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
P JFileChooser mit verschidene Endungen AWT, Swing, JavaFX & SWT 12
S Swing Ordner im JFileChooser auswählen AWT, Swing, JavaFX & SWT 2
C JFileChooser bringt parent durcheinander AWT, Swing, JavaFX & SWT 2
N JFileChooser mit Dateinamenvorgabe AWT, Swing, JavaFX & SWT 9
S JFileChooser GTK (Ubuntu) "hässlich" AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser mit modifiziertem Kontextmenü AWT, Swing, JavaFX & SWT 4
S JFileChooser öffnet den falschen Ordner AWT, Swing, JavaFX & SWT 4
A Swing JFilechooser zeigt verzeichnisse nicht an AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser - Anzeige in Echtzeit filtern AWT, Swing, JavaFX & SWT 10
M JFileChooser umbenennen verbieten AWT, Swing, JavaFX & SWT 4
Helgon JFileChooser öffnet sich 2x AWT, Swing, JavaFX & SWT 12
K JFileChooser mit Zusatzfunktionen AWT, Swing, JavaFX & SWT 8
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
V JFileChooser auf Mac und Netzwerkordner AWT, Swing, JavaFX & SWT 2
B JFileChooser breite der Spalten? AWT, Swing, JavaFX & SWT 5
P Swing Dateinamen im JFileChooser vorschlagen AWT, Swing, JavaFX & SWT 11
M JFileChooser Abfangen des DateiTypen möglich?? AWT, Swing, JavaFX & SWT 5
T Swing JFileChooser --> Desktop und Laufwerke im "Suchen in" - Drop Down AWT, Swing, JavaFX & SWT 3
N JFileChooser - Keine Funtkion AWT, Swing, JavaFX & SWT 13
T JFileChooser - "Öffnen-Button" aktivieren/deaktivieren möglich??? AWT, Swing, JavaFX & SWT 2
jueki Aktuell eingestellten Filter aus einem JFileChooser abfragen. AWT, Swing, JavaFX & SWT 5
F Swing JFileChooser - Dateinamen nicht editierbar machen AWT, Swing, JavaFX & SWT 8
I Fehler bei JFileChooser AWT, Swing, JavaFX & SWT 2
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
Ivan Dolvich [Linux] JFileChooser sieht komisch aus... AWT, Swing, JavaFX & SWT 12
M Zurück-Button in JFileChooser AWT, Swing, JavaFX & SWT 9
N JFileChooser AWT, Swing, JavaFX & SWT 4
D Problem mit JFileChooser -> Daten werden mit anführungsstriche in JTable geschrieben AWT, Swing, JavaFX & SWT 8
S JFileChooser Dateiname Autovervollständigung AWT, Swing, JavaFX & SWT 2
B JDialog über JFileChooser anzeigen AWT, Swing, JavaFX & SWT 6
I Swing JFileChooser '\' im Pfad... AWT, Swing, JavaFX & SWT 2
K Swing JFileChooser zum Speichern - FileFilter AWT, Swing, JavaFX & SWT 2
M Swing Execption beim JFileChooser AWT, Swing, JavaFX & SWT 4
kodela Swing JFileChooser und die Datei-Extension AWT, Swing, JavaFX & SWT 3
jueki eigenen Button in JFileChooser einfügen AWT, Swing, JavaFX & SWT 7
alderwaran jFileChooser showSaveDialog, dateinamen werden mit pfadnamen überschrieben beim navigieren AWT, Swing, JavaFX & SWT 1
B Swing Suche JFileChooser zum Speichern AWT, Swing, JavaFX & SWT 2
Iron Monkey JFileChooser DIRECTORIES_ONLY AWT, Swing, JavaFX & SWT 4
Semox Swing JFileChooser: Problem Approve oder Cancel abzufangen AWT, Swing, JavaFX & SWT 7
H JTree - nach Auswahl aus JFileChooser wird nur der erste Knoten angezeigt AWT, Swing, JavaFX & SWT 3
kodela Sicherheitsabfrage mit JFileChooser AWT, Swing, JavaFX & SWT 2
DARK_ZERATO2 jFileChooser AWT, Swing, JavaFX & SWT 4
G JFileChooser Problem AWT, Swing, JavaFX & SWT 4
G Swing JFileChooser Event für neue Directory? AWT, Swing, JavaFX & SWT 5
P JFileChooser AWT, Swing, JavaFX & SWT 2
M Swing JFileChooser und JFrame AWT, Swing, JavaFX & SWT 5
G Swing JFileChooser in einem JPanel? AWT, Swing, JavaFX & SWT 3
J JFileChooser Dateiauswahl beim Tippen einschränken AWT, Swing, JavaFX & SWT 3
M Swing JFileChooser mit Windows 7 AWT, Swing, JavaFX & SWT 8
R JFileChooser - Initiales Verzeichnis auswählen AWT, Swing, JavaFX & SWT 8
brainray JFileChooser - es sollen nur Ordner wählbar sein AWT, Swing, JavaFX & SWT 2
T JFileChooser Problem AWT, Swing, JavaFX & SWT 3
N Mit JFileChooser ein Verzeichnis auswählen AWT, Swing, JavaFX & SWT 7
M Swing JFileChooser und versteckte Ordner AWT, Swing, JavaFX & SWT 2
F jFileChooser verwenden AWT, Swing, JavaFX & SWT 4
M Swing ImageIcon über JFileChooser einbinden AWT, Swing, JavaFX & SWT 4
F JFileChooser mal wieder AWT, Swing, JavaFX & SWT 2
ARadauer Swing JFileChooser mit Bildvorschau AWT, Swing, JavaFX & SWT 5
H Swing Dateiauswahldialog mit JFileChooser funktioniert unzuverlässig AWT, Swing, JavaFX & SWT 11
G Swing JFileChooser nur in Verzeichnis+Unterverzeichnisse AWT, Swing, JavaFX & SWT 5
K Swing JFileChooser AWT, Swing, JavaFX & SWT 6
M JFileChooser einschränken AWT, Swing, JavaFX & SWT 3
L JFileChooser braucht lang zum öffnen AWT, Swing, JavaFX & SWT 2
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
M JFilechooser defaultdirectory AWT, Swing, JavaFX & SWT 5
C JFilechooser this.setAlwaysOnTop AWT, Swing, JavaFX & SWT 2
G JFileChooser - erkennen v. existierenden Dateien ohne Endung AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben