2012-05-16 19 views
14

Sto creando un'applicazione utilizzando Netbeans 7.1.2 e sto usando un selettore di file, ma non voglio che il selettore di file ottenga un file, invece voglio che restituisca il file percorso completo alla directory in cui si trova attualmente.Come ottenere la directory completa del percorso da File Chooser

What the file chooser looks like

Quando l'utente fa clic aperta qui, voglio che ritorni il percorso completo e non il file. Come faccio a fare questo?

risposta

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 "); 
} 

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

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

Se volete sapere la directory corrente:

fileChooser.getCurrentDirectory() 

Se si desidera ottenere il file selezionato:

fileChooser.getSelectedFile(); 

Per ottenere il percorso assoluto di un file:

file.getAbsolutePath(); 

Afferra tutte le informazioni su the File chooser API here.

0

Imposta il selettore di file per filtrare tutti i file non di directory.

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, il display automatica del codice (metodo display) impianto darà la lista completa dei metodi disponibili per JFileChooser una volta che avete usato l'operatore punto accanto all'istanza JFileChooser. Basta navigare tra i metodi getter per scoprire più opzioni e leggere il piccolo Javadock visualizzato da netbeans.

0

On JDK 1.8 (utilizzando NetBeans 8.0.1) funziona:

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

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

jAprire è il JFileChooser. Come sottolineato da Joachim, File class doesn't leave anything opened nor leaked

Problemi correlati