我想做标题所说的.
部分解决方案
例如,在Windows中,您可以使用以下代码在默认资源管理器中打开文件并突出显示它.
(虽然它需要修改包含空格的文件):
/**
* Opens the file with the System default file explorer.
*
* @param path the path
*/
public static void openFileLocation(String path) {
if (InfoTool.osName.toLowerCase().contains("win")) {
try {
Runtime.getRuntime().exec("explorer.exe /select," + path);
} catch (IOException ex) {
Main.logger.log(Level.WARNING, ex.getMessage(), ex);
}
}
}
有用的链接:
类似的链接,但没有道德或没有回答的链接:
How to use java code to open Windows file explorer and highlight the specified file?
Open a folder in explorer using Java
How can I open the default system browser from a java fx application?
更多解释:
>有没有办法使用JavaFX?
If not at least i need a link or some way to make the app system
independence.I mean i don't know the default explorer for every OS
that the application is going to work , i need a link or help doing that.
>我需要编写大量代码才能执行此操作吗?
>有没有这样做的图书馆?
> Java9支持吗?
最后:
很奇怪,对于这么常见的事情我找不到答案和图书馆.
帮助真的很感激:)
在Windows 10中突出显示或选中的示例:
最佳答案 好的,我知道可能会迟到但我已经找到了答案.
从Java 9开始,可以使用新方法browseFileDirectory,因此您的方法将声明:
import java.awt.Desktop;
import java.io.File;
...
/**
* Opens the file with the System default file explorer.
*
* @param path the path
*/
public static void openFileLocation(String path) {
Desktop.getDesktop().browseFileDirectory(new File(path));
}
有关更多信息,请参阅javadoc:
https://docs.oracle.com/javase/10/docs/api/java/awt/Desktop.html#browseFileDirectory(java.io.File)
我希望它对你有所帮助.