如何将 JFileChooser 的起始目录更改为桌面?

5

我想将 JFileChooser 的起始目录更改为桌面。因此,在我的计算机上,我写了以下代码:

JFileChooser fc = new JFileChooser("C:\\Users\\LNK\\Desktop");

问题是,当我在另一台计算机上编译我的代码并运行程序时,它不能正常工作,因为没有 C:\\Users\\LNK\\Desktop 路径。那么,是否有桌面的“绝对”路径呢?

1
这是一个重复的问题,与https://dev59.com/YXNA5IYBdhLWcg3wIqLr相同。 - Adrian Pang
3个回答

13

您可以使用user.home系统属性来获取用户目录。因此,您的代码将如下所示:

String userDir = System.getProperty("user.home");
JFileChooser fc = new JFileChooser(userDir +"/Desktop");

2
我想你的意思是 System.getProperty("user.home")。在Windows、Mac OS X甚至Linux上,将"/Desktop"连接起来都可以工作。 - martinez314

3

以下是到达Windows桌面的另一种选择:

fileChooser.setCurrentDirectory(new File("C:\\"));
Action details = fileChooser.getActionMap().get("Go Up");
details.actionPerformed(null);
details.actionPerformed(null);

如果您省略最后一行,您将会到达“计算机”。

0

使用这个,

String desktopPath = WindowsUtils.getCurrentUserDesktopPath();

6
WindowsUtils 是什么玩意儿? - Eugene Ryzhikov
http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/os/WindowsUtils.html - 显然。 - Gorbles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接