感谢网友 denworld的提醒,忘记了 JDK6的新API,下面的代码将使用默认系统关联的程序打开
下面是关于 Desktop.open的说明,使用
http://api.java2000.net/open 可以快速找到你要的JDK的API说明
- import java.awt.Desktop;
- import java.io.File;
- import java.io.IOException;
- /**
- * JDK6的新API使用默认关联程序打开文件。
- *
- * @author denworld,赵学庆,Java世纪网(java2000.net)
- *
- */
- public class Test {
- public static void main(String[] args) {
- Desktop desktop = Desktop.getDesktop();
- File file = new File("d://1234.txt");
- // 如果是doc文件,则默认使用word等程序打开
- // File file = new File("d://1234.doc");
- if (!file.exists())
- System.out.println("file not exist");
- else
- try {
- desktop.open(file);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
open
public void open(File file)
throws IOException
-
启动关联应用程序来打开文件。
如果指定的文件是一个目录,则启动当前平台的文件管理器打开它。
-
-
参数:
-
file- 要用关联应用程序打开的文件
抛出:
-
NullPointerException- 如果file为null -
IllegalArgumentException- 如果指定文件不存在 -
UnsupportedOperationException- 如果当前平台不支持Desktop.Action.OPEN动作 -
IOException- 如果指定文件没有关联应用程序,或者关联应用程序无法启动 -
SecurityException- 如果安全管理器存在且其SecurityManager.checkRead(java.lang.String)方法拒绝对文件进行读取访问;或者它拒绝AWTPermission("showWindowWithoutWarningBanner")权限;或者不允许调用线程创建子进程
另请参见:
-
AWTPermission
-
JDK6新API演示
本文介绍并演示了JDK6中使用Desktop类通过默认关联程序打开文件的新API。通过简单示例展示了如何利用此API打开本地文件。
8万+

被折叠的 条评论
为什么被折叠?



