从Java启动文件

Tor*_*ten 8 java io launch

我想从Java程序启动一个文件(文档)并分阶段满足以下要求:

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

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

Joo*_*kka 21

使用Java Desktop API.

Desktop.getDesktop().open(new File(yourfilename));
Run Code Online (Sandbox Code Playgroud)


Sam*_*num 5

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

在Mac上,

Runtime.getRuntime().exec(new String[] {"open", pathToFile});
Run Code Online (Sandbox Code Playgroud)

在窗户上,

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

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