可能重複:
How to run Unix shell script from java code?如何在Java中執行UNIX本機命令?
我知道你可以使用的Runtime.exec()或的ProcessBuilder以這種方式在Windows上執行本機命令:
cmd /c command_goes_here
但是在UNIX上這是什麼問題呢?
或者所有的命令都可以直接通過Java?它有像Windows一樣的內部終端命令嗎?
可能重複:
How to run Unix shell script from java code?如何在Java中執行UNIX本機命令?
我知道你可以使用的Runtime.exec()或的ProcessBuilder以這種方式在Windows上執行本機命令:
cmd /c command_goes_here
但是在UNIX上這是什麼問題呢?
或者所有的命令都可以直接通過Java?它有像Windows一樣的內部終端命令嗎?
它叫做Runtime.exec()
。這就是Java的一點 - 一次運行即可編寫。
(是的,是的,相同的腳本不會到處運行;這就是Runtime
是,給你訪問到底層系統)
Java那樣不,然而,對內部機制控制屏幕。爲此,你需要採取通常的AWT/SWT/Swing等例程。
但是...將使用Runtime.exec()運行UNIX命令適用於所有UNIX命令?或者是否有終端內部的命令? – bgroenks
我的理解是,Java exec
是基於Posix exec*
的調用。所以大概你需要按照你在Posix中做的那樣來設置本地命令的格式(雖然我不知道你是否需要像在Posix中那樣指定兩次命令名 - 我從來沒有嘗試過在* nix下的Java exec
)。
需要注意的是,在* nix中,像ls
這樣的單獨命令是獨立的,而在Windows中,像dir
這樣的命令實際上只是CMD的參數。
正如別人指出,運行Runtime.exec()
將幫助你。但要小心!要成功運行來自Java的命令,需要考慮幾個注意事項。首先閱讀this文章,它解釋了你需要知道的一切。
你爲什麼不自己嘗試一下呢? – Beginner
相同http://stackoverflow.com/questions/525212/how-to-run-unix-shell-script-from-java-code? –
也見http://stackoverflow.com/questions/562104/difference-between-running-internal-and-external-unix-commands-in-java? –