2012-05-16 13 views
14

Ich erstelle eine Anwendung mit Netbeans 7.1.2 und ich benutze eine Dateiauswahl, aber ich möchte nicht, dass der Dateiwähler eine Datei erhält, stattdessen möchte ich die Datei zurückgeben vollständiger Pfad zu dem Verzeichnis, in dem es sich gerade befindet.So erhalten Sie das vollständige Pfadverzeichnis von der Dateiauswahl

What the file chooser looks like

Wenn der Benutzer geöffnet hier klickt, möchte ich es den vollständigen Pfad und die Datei nicht zurückzukehren. Wie mache ich das?

Antwort

21
JFileChooser chooser = new JFileChooser(); 
chooser.setCurrentDirectory(new java.io.File(".")); 
chooser.setDialogTitle("choosertitle"); 
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
chooser.setAcceptAllFileFilterUsed(false); 

if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { 
    System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory()); 
    System.out.println("getSelectedFile() : " + chooser.getSelectedFile()); 
} else { 
    System.out.println("No Selection "); 
} 

Von http://www.java2s.com/Code/Java/Swing-JFC/SelectadirectorywithaJFileChooser.htm

2
File file = fileChooser.getCurrentDirectory(); 
String fullPath = file.getCanonicalPath(); // or getAbsolutePath() 
2

Wenn Sie das aktuelle Verzeichnis wissen wollen:

fileChooser.getCurrentDirectory() 

Wenn Sie die ausgewählte Datei erhalten möchten:

fileChooser.getSelectedFile(); 

Um der absolute Pfad zu einer Datei:

file.getAbsolutePath(); 

Greifen Sie alle Informationen auf the File chooser API here.

0

Legen Sie die Dateiauswahl fest, um alle Nicht-Verzeichnisdateien herauszufiltern.

yourFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
0
File f = fileChooser.getCurrentDirectory(); //This will return the directory 

File f = fileChooser.getSelectedFile(); //This will return the file 

In Netbeans wird die automatische Code-Anzeige (Methode Display) Anlage die komplette Liste der Methoden, um JFileChooser geben, sobald Sie den Punkt-Operator zu JFileChooser Instanz als nächstes verwendet haben. Navigieren Sie einfach durch die Getter-Methoden, um weitere Optionen zu finden, und lesen Sie das kleine Javadock, das von Netbeans angezeigt wird.

0

auf JDK 1.8 (mit NetBeans 8.0.1) das funktioniert:

String path = jOpen.getName(diagOpen.getSelectedFile()); // file's name only 

String path = jOpen.getSelectedFile().getPath(); // full path 

JDie JFileChooser ist. Wie von Joachim, File class doesn't leave anything opened nor leaked

hingewiesen
Verwandte Themen