gpt4 book ai didi

java - 查找关联的程序以使用 Java 打开文件

转载 作者:行者123 更新时间:2023-11-30 09:55:06 25 4
gpt4 key购买 nike

我希望使用安装在计算机上的相关程序(在本例中,使用 MS Word 或 Open Office Writer)从 Java 应用程序打开一个文件(比方说,一个 word 文档)。

要注意的是,我想等到这个子进程完成,这可以使用 Process 类中的 waitFor() 方法来完成。

String executable = findAssociatedApplicationPath(); //for example, returns "C:\\Program Files\\Microsoft Office\\Office12\\msword.exe"
Process p = Runtime.getRuntime().exec(executable + " " + filepath);
p.waitFor();

有人能告诉我如何编写 findAssociatedApplicationPath() 方法以便返回正确的可执行文件吗?或者还有其他方法吗?

最佳答案

使用相关程序打开文件的正确的平台无关方式是 Desktop.open() .遗憾的是,它不提供任何方式与生成的过程进行交互。

如果你愿意失去平台独立性,你可以在 cmd.exe 中使用 start 命令:

String fileName = "c:\\tmp\\test.doc";
String[] commands = {"cmd", "/c", "start", "\"Title\"",fileName};
Process p = Runtime.getRuntime().exec(commands);
p.waitFor()

关于java - 查找关联的程序以使用 Java 打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2989500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com