如何在java中打开系统文件资源管理器以选择要保存或加载的文件?

时间:2017-07-19 22:42:35

标签: java file explorer

我正在尝试在java中创建一个简单的像素艺术绘图应用程序。现在要加载并保存文件,您必须使用控制台并输入路径。我想知道如何打开文件浏览器并允许用户通过它选择文件。我过去使用过JFileChooser,但是我在询问如何打开OS文件浏览器。谢谢!

编辑:我想我第一次感到困惑。我不想打开文件浏览器,我希望能够让我的程序与它交互,并允许用户选择一个文件。像这样: Explorer being used in notepad++ to open a file

编辑:所以我发现FileDialog似乎做了我想做的事情,除了它是为AWT设计的,我使用的是OpenGL。我可以尝试做出这样的工作,但如果andyone有任何与lwjgl一起工作的东西,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

对于跨平台解决方案,您可以使用Desktop API,有关详细信息,请参阅How to Integrate with the Desktop Class

也许像......

if (Desktop.isDesktopSupported()) {
    Desktop desktop = Desktop.getDesktop();
    desktop.browse(uri); // Throws
}

在Windows上运行时,我倾向于使用类似......

的东西
String path = file.getCanonicalPath();

ProcessBuilder pb = new ProcessBuilder("explorer.exe", "/select," + path);
pb.redirectError();
Process proc = pb.start();

将突出显示指定的文件,但仅适用于在Windows上运行

我倾向于根据应用程序运行的平台在两者之间切换