我有下一个代码:
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnNajitPDFCache) {
JFileChooser chooser;
String choosertitle = "Select directory.";
chooser = new JFileChooser();
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle(choosertitle);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setApproveButtonText("OK");
//
// disable the "All files" option.
//
chooser.setAcceptAllFileFilterUsed(false);
//
if (chooser.showOpenDialog(parent) == JFileChooser.APPROVE_OPTION) {
textFieldPDFCache.setText(chooser.getCurrentDirectory()+"");
}
}
}
没关系。我在打开的选择器窗体中选择c:\ test文件夹,然后单击按钮确定。
但是chooser.getCurrentDirectory()
只返回c:\。为什么?有什么问题?
答案 0 :(得分:3)
getCurrentDirectory()
返回在中打开的当前目录
JFileChooser
。当您选择C:\test
时,您打开了C:\
目录,因此您C:\
上的getCurrentDirectory()
getSelectedFile()
返回选中的文件(在您的情况下,文件是目录)。因此,如果您希望用户选择的目录使用getSelectedFile()
答案 1 :(得分:2)
您应该使用chooser.getSelectedFile()
代替。
答案 2 :(得分:0)
您可以将Canonical路径设置为 File Canonicalpath = new File(new File(“C:/”)。getCanonicalPath());