如何在 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
我倾向于根据应用运行在
上的平台在两者之间切换
我正在尝试在 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
我倾向于根据应用运行在
上的平台在两者之间切换