如何实现'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);
Java提供java.awt.Desktop
(API JDK 11),可以进行这样的交互:
File file = new File("/path/to/file.txt");
Desktop.getDesktop().open(file.getParentFile());
我使用 file.getParentFile()
打开包含文件的目录,而不是文件本身。
如果执行此行,Finder(在 macOs 上)、Explorer(在 Windows 上)或 Linux 上的默认文件浏览器将打开一个新的 window 和指定目录。
在许多程序中,有一个选项可以使用本机 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);
Java提供java.awt.Desktop
(API JDK 11),可以进行这样的交互:
File file = new File("/path/to/file.txt");
Desktop.getDesktop().open(file.getParentFile());
我使用 file.getParentFile()
打开包含文件的目录,而不是文件本身。
如果执行此行,Finder(在 macOs 上)、Explorer(在 Windows 上)或 Linux 上的默认文件浏览器将打开一个新的 window 和指定目录。