从 Java 启动文件

发布于 2024-07-19 06:21:14 字数 233 浏览 8 评论 0原文

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

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

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

I want to launch a file(a document) from a Java program and phase the following requirements:

  • Method must be applicabale on Mac, Win and Linux systems
  • I am not allowed to use "Runtime.getRuntime().exec("cmd.exe /C +"filename");
  • The file I am launching needs to be either of .doc / .docx / .rtf

The file is created runtime, a result from a report being created.
Any good practices?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萌化 2024-07-26 06:21:14

使用 Java 桌面 API

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

Use Java Desktop API.

Desktop.getDesktop().open(new File(yourfilename));
獨角戲 2024-07-26 06:21:14

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

在 Mac 上,

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

在 Windows 上,

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

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

If you're running 1.6, use the Desktop API per mad-j's advice. If you're using an older VM (1.5 or earlier) you'll need to write your own platform-specific code to do this.

On the mac,

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

On windows,

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

You may need to escape the path on windows.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文