我在应用程序中使用JFileChooser来浏览目录,但是当我选择目录时,它会返回我选择的文件夹上方文件夹的路径。 即我选择“C:\ Test”并返回“C:\”
这是我正在使用的代码
JFileChooser c = new JFileChooser();
c.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int rVal = c.showSaveDialog(c);
if (rVal == JFileChooser.APPROVE_OPTION) {
txtDirectory.setText("");
CC_Test.MsgBox(c.getCurrentDirectory().toString());
txtDirectory.setText(c.getCurrentDirectory().toString());
}
if (rVal == JFileChooser.CANCEL_OPTION) {
txtDirectory.setText("");
}
答案 0 :(得分:15)
你应该使用
c.getSelectedFile()
而不是
c.getCurrentDirectory()
以获取所选文件(在本例中为aka目录)。否则它会生成filechooser面板(父项)中显示的目录,而不是选中的目录。
答案 1 :(得分:3)
要获取所选文件或目录,请使用:
c.getSelectedFile();
如果您使用
c.getCurrentDirectory();
返回取决于操作系统。
答案 2 :(得分:3)
您必须使用JFileChooser.getSelectedFile()
。 File
类适用于目录和文件。