我想从 Java 程序启动文件(文档)并逐步满足以下要求:
- 方法必须适用于 Mac、Win 和 Linux 系统
- 我不允许使用 "Runtime.getRuntime().exec("cmd.exe /C +"filename");
- 我要启动的文件必须是 .doc / .docx / .rtf 之一
该文件是在运行时创建的,是创建报告的结果。有什么好的做法吗?
使用Java 桌面 API。
Desktop.getDesktop().open(new File(yourfilename));
如果您运行的是 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 上的路径。