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

How do you open a system file explorer in java to select a file for saving or loading?

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

编辑:我想我第一次感到困惑。我不想只打开一个文件资源管理器,我希望我的程序能够与之交互并允许用户使用它 select 一个文件。像这样:

编辑:所以我找到了 FileDialog,它似乎可以做我想做的,只是它是为 AWT 设计的,而我使用的是 OpenGL。我可以尝试让它工作,但如果任何人有任何可以与 lwjgl 一起使用的东西,我将不胜感激。

对于跨平台解决方案,您可以使用 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();

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

我倾向于根据应用运行在

上的平台在两者之间切换