Как получить полный каталог пути из File Chooser
Я создаю приложение, использующее Netbeans 7.1.2, и я использую файл chooser, но я не хочу, чтобы файл chooser получал файл, вместо этого я хочу, чтобы он вернул полный путь к каталогу, который он сейчас в.
![What the file chooser looks like]()
Когда пользователь щелкает здесь, я хочу, чтобы он возвращал полный путь, а не файл. Как это сделать?
Ответы
Ответ 1
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 ");
}
От http://www.java2s.com/Code/Java/Swing-JFC/SelectadirectorywithaJFileChooser.htm
Ответ 2
File file = fileChooser.getCurrentDirectory();
String fullPath = file.getCanonicalPath(); // or getAbsolutePath()
Ответ 3
Если вы хотите узнать текущий каталог:
fileChooser.getCurrentDirectory()
Если вы хотите получить выбранный файл:
fileChooser.getSelectedFile();
Чтобы получить абсолютный путь к файлу:
file.getAbsolutePath();
Захватите всю информацию на API выбора файлов здесь.
Ответ 4
Установите свой выбор файла для фильтрации всех файлов без каталога.
yourFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
Ответ 5
File f = fileChooser.getCurrentDirectory(); //This will return the directory
File f = fileChooser.getSelectedFile(); //This will return the file
В netbeans функция автоматического отображения кода (метода отображения) предоставит полный список методов, доступных JFileChooser, после того, как вы использовали оператор точки рядом с экземпляром JFileChooser. Просто перейдите по методам getter, чтобы узнать больше опций, и прочитайте небольшой Javadock, отображаемый netbeans.
Ответ 6
В JDK 1.8 (с использованием NetBeans 8.0.1) это работает:
String path = jOpen.getName(diagOpen.getSelectedFile()); // file name only
String path = jOpen.getSelectedFile().getPath(); // full path
jOpen - это jFileChooser. Как отметил Йоахим, Класс файла не оставляет ничего открытого и не утечка