2012-03-13 147 views
1

是在Unix下工作的以下命令& Linux?以便携式方式以编程方式打开文档

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

我不知道,因为"cmd" "/c"

€的:

什么将是一个Linux的CentOS的等效命令?

回答

2

不,它不起作用。从Java文档:

一个命令,这意味着外部程序文件中的字符串列表来调用及其参数,如果有的话。 哪个字符串列表表示有效的操作系统命令是依赖于系统的。例如,每个概念性参数都是该列表中的一个元素是常见的,但有些操作系统预计程序会自行标记命令行字符串 - 在这样的系统上,Java实现可能需要命令才能精确地包含两个元素。

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

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

对于'Desktop.open()'+1。 – 2012-03-13 13:37:09

+0

还要感谢Dekstop.open() – ctekk 2012-03-13 13:44:04

+0

这不适用于在我的计算机上打开文件夹(Debian Linux/KDE)。它应该打开Dolphin文件管理器,但会抛出IOException。尽管为文件工作。 – user42723 2018-02-01 01:19:43

1

不,在Linux(或任何其他的Unix,或者在Mac)由于“CMD/C这是行不通的“和”开始“。在Mac上,你会说"open Documentation.doc"。各种Linux桌面都有它们自己的启动/打开命令版本:gnome-open用于Gnome桌面,而FreeDesktop半标准xdg-open是一些可能性。

1

编号cmd/c只与Windows相关。