从Java启动文件

我想从Java程序启动一个文件(文档)并按照以下要求进行调整:

  • 方法必须适用于Mac,Win和Linux系统
  • 我不允许使用“Runtime.getRuntime()。exec(”cmd.exe / C +“filename”);
  • 我正在启动的文件需要是.doc / .docx / .rtf

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

使用Java Desktop API 。

Desktop.getDesktop().open(new File(yourfilename)); 

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

在mac上,

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

在窗户上,

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

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