Java 如何使JFileChooser打开,显示当前工作目录,而不考虑所使用的操作系统?

Java 如何使JFileChooser打开,显示当前工作目录,而不考虑所使用的操作系统?,java,swing,file-io,cross-platform,jfilechooser,Java,Swing,File Io,Cross Platform,Jfilechooser,我需要在我的简单问答游戏中使用JFileChooser来加载和保存“问题/答案”集, 当FileChooser窗口打开时,我希望它位于当前工作目录中,我希望它在Linux、Windows和OSX中工作,我怀疑“user.dir”方法是否适用于所有平台,是否有人可以提供帮助,下面的代码 装载 public class openMenuItemListener implements ActionListener { public void actionPerformed(ActionEvent e)

我需要在我的简单问答游戏中使用JFileChooser来加载和保存“问题/答案”集, 当FileChooser窗口打开时,我希望它位于当前工作目录中,我希望它在Linux、Windows和OSX中工作,我怀疑“user.dir”方法是否适用于所有平台,是否有人可以提供帮助,下面的代码

装载

public class openMenuItemListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
nextButton.setEnabled(true);
JFileChooser fileChooser=new JFileChooser();
fileChooser.showOpenDialog(frame);
loadFile(fileChooser.getSelectedFile());
}
}
保存:

class saveMenuListener implements ActionListener
    {
    public void actionPerformed(ActionEvent e)
    {
    JFileChooser fileSave=new JFileChooser();
    fileSave.showSaveDialog(frame);
    saveFile(fileSave.getSelectedFile());

    }
    }//class ends 

这将获得一个“JFileChooser”,引用任何系统上的当前工作目录(即应用程序启动位置):

new JFileChooser(".");

“我需要在我的简单问答游戏中使用JFileChooser来加载和保存‘问题/答案’集,当FileChooser窗口打开时,我希望它位于当前工作目录中,我希望它在Linux、Windows和OSX中工作,我怀疑“user.dir”方法是否适用于所有平台”对于使用JavaWebStart启动的任何应用程序,它永远不会适用于任何操作系统,这将是桌面应用程序的常见方式。分发。在那些应用程序中。应用程序的目录。(安装位置)故意对应用程序隐藏。它本身这些测验具体以什么形式存储(文本、HTML、序列化的
String
objects..)“现在可以使用了,谢谢”在一台开发机器上很容易就可以使用很多东西。正是在部署到其他任何人的时候,您才需要处理我刚才描述的问题。但是,为什么是应用程序。提供
JFileChooser
而不是简单的
JList
可用测验?你提供所有的测验,还是最终用户可以设计新的测验?@AndrewThompson我有两个应用程序,一个测验生成器,用于构建测验,另存为文本文件,然后从quizplayer加载并播放,这只是我在学习java io时使用的一个玩具应用程序,没什么“这只是我在学习java io时使用的一个玩具应用程序”这是发展“最佳实践”的好时机。这种情况下的最佳实践是将测验存储在本地文件系统上已知且可复制的位置,该位置已知为可写(和可读)。该位置将是
user.home
的子目录,如中所述。