2012-03-13 146 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相關。