如何从File Chooser获取完整路径目录

时间:2012-05-16 15:24:27

标签: java swing jfilechooser

我正在使用Netbeans 7.1.2创建一个应用程序,我正在使用文件选择器,但我不希望文件选择器获取文件,而是我希望它返回它当前目录的完整路径在

What the file chooser looks like

当用户点击此处打开时,我希望它返回完整路径而不是文件。我该怎么做?

6 个答案:

答案 0 :(得分: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 ");
}

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

答案 1 :(得分:2)

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

答案 2 :(得分:2)

如果您想知道当前目录:

fileChooser.getCurrentDirectory()

如果您想获取所选文件:

fileChooser.getSelectedFile();

获取文件的绝对路径:

file.getAbsolutePath();

抓住the File chooser API here上的所有信息。

答案 3 :(得分:0)

设置文件选择器以过滤掉所有非目录文件。

yourFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

答案 4 :(得分:0)

File f = fileChooser.getCurrentDirectory(); //This will return the directory

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

在netbeans中,一旦您使用了JFileChooser实例旁边的点运算符,自动代码显示(方法显示)工具将提供JFileChooser可用的完整方法列表。只需浏览getter方法以找到更多选项,并阅读netbeans显示的小Javadock。

答案 5 :(得分:0)

在JDK 1.8(使用NetBeans 8.0.1)上,这可以工作:

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

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

jOpen是jFileChooser。正如约阿希姆所指出的,File class doesn't leave anything opened nor leaked

相关问题