我正在显示文件列表;即我的Java应用程序(Eclipse RCP)中的xls,doc,pdf,odt等。当用户单击该文件时,我想启动适当的(根据操作系统认为的)本机应用程序,就像在Windows资源管理器或Finder中一样。
当我在这里时:显示Finder或Explorer用于不同文件类型的相同图标会很好。
是否有用于此的库或Eclipse插件?
答案 0 :(得分:14)
你想要的是java.awt.Desktop:
Desktop.getDesktop().open( file );
答案 1 :(得分:6)
我现在在Eclipse的SWT中找到了一个API,似乎可以解决这个问题: org.eclipse.swt.program.Program“提供对设施的访问,以发现外部程序启动的操作系统特定方面。”
它有方法可以找到给定文件扩展名的程序,获取程序的图标,甚至启动程序。
答案 2 :(得分:2)
听起来像是在Java Activation Framework(“JAF”)之后。通过此API,您可以确定哪些文件以及可以对其执行的操作。或者Java Desktop Integration Component(“JDIC”)。 JDIC允许您创建并毫无疑问地查询文件关联。
两个项目似乎处于半被遗弃状态(叹气)。但这对于Sun这几天的课程而言是相同的。我所知道的另一件事是一些基于JNI的Windows特定第三方库,名为Winpack。它也做了很多其他事情。
您可以get the associated icon使用FileSystemView类(Java 1.4 +)。