8

我想从 Java 程序启动文件(文档)并逐步满足以下要求:

  • 方法必须适用于 Mac、Win 和 Linux 系统
  • 我不允许使用 "Runtime.getRuntime().exec("cmd.exe /C +"filename");
  • 我要启动的文件必须是 .doc / .docx / .rtf 之一

该文件是在运行时创建的,是创建报告的结果。有什么好的做法吗?

4

2 回答 2

22

使用Java 桌面 API

Desktop.getDesktop().open(new File(yourfilename));
于 2009-05-11T12:25:13.563 回答
4

如果您运行的是 1.6,请按照 mad-j 的建议使用桌面 API。如果您使用的是较旧的 VM(1.5 或更早版本),则需要编写自己的特定于平台的代码来执行此操作。

在 Mac 上,

Runtime.getRuntime().exec(new String[] {"open", pathToFile});

在窗户上,

Runtime.getRuntime().exec(new String[] {"cmd.exe", "/C", pathToFile});

您可能需要转义 Windows 上的路径。

于 2009-05-11T12:29:33.600 回答