感谢网友 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
-