在Windows中更改JFileChooser的默认目录

21

我想将JFileChooser的默认目录更改为Windows上的"My Music"。 此目录在我的帐户上是C:\Users\Fre\Music,因为我的用户名是Fre

默认设置为C:\Users\Fre\Documents(取决于操作系统)。 如何更改这个设置?


请注意,用户的音乐文件夹不一定位于您提到的目录路径上。它可以被用户轻松更改。请参考http://www.techsupportalert.com/content/how-move-windows-7-personal-folders-my-documents-another-drive.htm。 - Klitos Kyriacou
7个回答

39
你可以在初始化JFileChooser对象时,使用API方法 setCurrentDirectory
public void setCurrentDirectory(File dir)

示例用法可能如下:

yourFileChooser.setCurrentDirectory(new File  
(System.getProperty("user.home") + System.getProperty("file.separator")+ "Music"));

是的,但是要放在哪个目录下呢?因为现在我是在我的账户上运行它,但是应用程序将在另一个账户上有另一个用户名。 - dumazy
2
我认为你实际上想要使用 System.getProperty("file.separator") 而不是 "line.separator"。Line separator 会使字符串换到下一行。 - wiredmark

13

为什么不在创建FileChooser时直接给它路径,像这样:

JFileChooser chooser = new JFileChooser("C:\\Users\\Fre\\Music\\");

4

抱歉浪费您的时间,我已经自己找到了答案:

String userhome = System.getProperty("user.home");
JFileChooser fc = new JFileChooser(userhome +"\\Music");

1
我建议您也使用line.separator,如果您的用户是Linux用户呢? - Juvanis
不太确定。也许我可以先检查它运行的操作系统,然后决定使用哪个目录。 - dumazy

4
JFileChooser openFile = new JFileChooser("C:\\Users\\Fre\\Music");

0

为了设置默认文件目录而创建所有自己的代码是不必要和冗长的。更简单和快捷的方法是在设计视图中直接右键单击文件选择器本身,然后右键单击“自定义代码”。

文件选择器自定义代码

这将显示该GUI组件的关键代码。从代码顶部旁边的下拉框中选择“自定义创建”。

这将允许您自定义fileChooser =分配给什么。在花括号JFileChooser()之间,您可以像这样使用引号硬编码文件目录。

JFileChooser("C:\Users\user\Documents")

或者输入您之前创建的变量名称,以保存文件目录。虽然两种方法都可以,但我建议使用后者。

希望这可以帮到您。

附:很抱歉由于权限不够,我必须使用链接来展示照片。


0

你可以在Windows上将我的JFileChooser的默认目录更改为“你想要的目录”

JFileChooser fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(new File("put here your directory"));
int result = fileChooser.showOpenDialog(getParent());
if (result == JFileChooser.APPROVE_OPTION) 
{
    File selectedFile = fileChooser.getSelectedFile();
    jTextField.setText(selectedFile.getAbsolutePath());
}

0
相当简单:
JFileChooser browseImageFile = new JFileChooser("User Defined Directory");

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