我想将 JFileChooser
的起始目录更改为桌面。因此,在我的计算机上,我写了以下代码:
JFileChooser fc = new JFileChooser("C:\\Users\\LNK\\Desktop");
问题是,当我在另一台计算机上编译我的代码并运行程序时,它不能正常工作,因为没有
C:\\Users\\LNK\\Desktop
路径。那么,是否有桌面的“绝对”路径呢?我想将 JFileChooser
的起始目录更改为桌面。因此,在我的计算机上,我写了以下代码:
JFileChooser fc = new JFileChooser("C:\\Users\\LNK\\Desktop");
C:\\Users\\LNK\\Desktop
路径。那么,是否有桌面的“绝对”路径呢?您可以使用user.home
系统属性来获取用户目录。因此,您的代码将如下所示:
String userDir = System.getProperty("user.home");
JFileChooser fc = new JFileChooser(userDir +"/Desktop");
System.getProperty("user.home")
。在Windows、Mac OS X甚至Linux上,将"/Desktop"连接起来都可以工作。 - martinez314以下是到达Windows桌面的另一种选择:
fileChooser.setCurrentDirectory(new File("C:\\"));
Action details = fileChooser.getActionMap().get("Go Up");
details.actionPerformed(null);
details.actionPerformed(null);
使用这个,
String desktopPath = WindowsUtils.getCurrentUserDesktopPath();
WindowsUtils
是什么玩意儿? - Eugene Ryzhikov