以可移植的方式以编程方式打开文档

时间:2012-03-13 13:30:13

标签: java windows linux process

是在Unix& Linux下运行的以下命令吗?

ProcessBuilder prcbdoc = new ProcessBuilder("cmd","/C","start", "Documentation.doc");       
            prcbdoc.directory(new File(currentDir+"/docs/"));
            prcbdoc.start();

由于"cmd" "/c"

,我不确定

€:

Linux CentOS等效命令是什么?

3 个答案:

答案 0 :(得分:2)

不,它不起作用。来自Java文档:

  

命令,一个字符串列表,表示要调用的外部程序文件及其参数(如果有)。 哪些字符串列表表示有效的操作系统命令是系统相关的。例如,每个概念参数通常都是此列表中的元素,但是有些操作系统需要程序对命令行字符串本身进行标记 - 在这样的系统上,Java实现可能需要命令才能包含两个元素。

使用AWT以便携式方式打开文档:

if (Desktop.isDesktopSupported())
 Desktop.getDesktop().open(documentPath);

答案 1 :(得分:1)

不,由于“cmd / c”和“start”,这不适用于Linux(或任何其他Unix或Mac)。在Mac上,你会说"open Documentation.doc"。各种Linux桌面都有自己的start / open命令版本:Gnome桌面的gnome-open和FreeDesktop的半标准版xdg-open是一些可能性。

答案 2 :(得分:1)

没有。 cmd/c仅与Windows相关。