JDK6的新API使用默认关联程序打开文件

来源:互联网 发布:rbac php项目 编辑:程序博客网 时间:2024/05/18 21:47
感谢网友 denworld的提醒,忘记了 JDK6的新API,下面的代码将使用默认系统关联的程序打开
  1. import java.awt.Desktop;
  2. import java.io.File;
  3. import java.io.IOException;
  4. /**
  5.  * JDK6的新API使用默认关联程序打开文件。
  6.  * 
  7.  * @author denworld,赵学庆,Java世纪网(java2000.net)
  8.  * 
  9.  */
  10. public class Test {
  11.   public static void main(String[] args) {
  12.     Desktop desktop = Desktop.getDesktop();
  13.     File file = new File("d://1234.txt");
  14.     // 如果是doc文件,则默认使用word等程序打开
  15.     // File file = new File("d://1234.doc");
  16.     if (!file.exists())
  17.       System.out.println("file not exist");
  18.     else
  19.       try {
  20.         desktop.open(file);
  21.       } catch (IOException e) {
  22.         e.printStackTrace();
  23.       }
  24.   }
  25. }
下面是关于 Desktop.open的说明,使用 http://api.java2000.net/open 可以快速找到你要的JDK的API说明

open

public void open(File file)
throws IOException
启动关联应用程序来打开文件。

如果指定的文件是一个目录,则启动当前平台的文件管理器打开它。

参数:
file - 要用关联应用程序打开的文件
抛出:
NullPointerException - 如果 filenull
IllegalArgumentException - 如果指定文件不存在
UnsupportedOperationException - 如果当前平台不支持 Desktop.Action.OPEN 动作
IOException - 如果指定文件没有关联应用程序,或者关联应用程序无法启动
SecurityException - 如果安全管理器存在且其 SecurityManager.checkRead(java.lang.String) 方法拒绝对文件进行读取访问;或者它拒绝 AWTPermission("showWindowWithoutWarningBanner") 权限;或者不允许调用线程创建子进程
另请参见:
AWTPermission