如何实现'locate in explorer/finder'功能

How to implement 'locate in explorer/finder' function

在许多程序中,有一个选项可以使用本机 OS 文件资源管理器来定位特定文件。如何使用 java 实现此功能?

文件选择器呢?

FileChooser fileChooser = new FileChooser();
fileChooser.setInitialDirectory(new File("data"));
fileChooser.setInitialFileName("myfile.txt");
fileChooser.getExtensionFilters().addAll(
 new FileChooser.ExtensionFilter("Text Files", "*.txt")
,new FileChooser.ExtensionFilter("HTML Files", "*.htm")
);
File selectedFile = fileChooser.showOpenDialog(stage);

更多关于http://tutorials.jenkov.com/javafx/filechooser.html

Java提供java.awt.DesktopAPI JDK 11),可以进行这样的交互:

File file = new File("/path/to/file.txt");
Desktop.getDesktop().open(file.getParentFile());

我使用 file.getParentFile() 打开包含文件的目录,而不是文件本身。 如果执行此行,Finder(在 macOs 上)、Explorer(在 Windows 上)或 Linux 上的默认文件浏览器将打开一个新的 window 和指定目录。