2012-05-16 17 views
14

Tworzę aplikację przy użyciu Netbeans 7.1.2 i używam selektora plików, ale nie chcę, aby plik wybrał plik, zamiast tego chcę, aby zwrócił pełna ścieżka do katalogu, w którym aktualnie się znajduje.Jak uzyskać pełny katalog ścieżek z File Chooser

What the file chooser looks like

Gdy użytkownik kliknie otwarte tutaj, chcę wrócić pełną ścieżkę, a nie pliku. Jak mam to zrobic?

Odpowiedz

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

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

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

Jeśli chcesz wiedzieć, bieżący katalog:

fileChooser.getCurrentDirectory() 

Jeśli chcesz otrzymać wybrany plik:

fileChooser.getSelectedFile(); 

Aby uzyskać bezwzględna ścieżka do pliku:

file.getAbsolutePath(); 

Pobierz wszystkie informacje na temat the File chooser API here.

0

Ustaw selektor plików, aby odfiltrować wszystkie pliki bez katalogu.

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

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

w NetBeans, automatyczne wyświetlanie kodu (wyświetlacz metoda) zakład daje pełną listę dostępnych metod JFileChooser raz użyłeś operatora kropki obok przykład JFileChooser. Po prostu poruszaj się po metodach uzyskiwania, aby dowiedzieć się więcej opcji, i przeczytaj małą Javadock wyświetlaną przez netbeans.

0

W JDK 1.8 (przy użyciu NetBeans 8.0.1) działa to:

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

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

jOpen jest jFileChooser. Jak wskazał Joachim, File class doesn't leave anything opened nor leaked

Powiązane problemy