2011-04-26 94 views
1

嗨 我想。什麼執行Runtime.getRuntime.exec(字符串CMD)

執行命令字符串Runtime.getRuntime.exec(字符串CMD)實際上,我想提取我從幀使用MPlayer的視頻,它是

安裝在與我的eclipse工作區不同的目錄中。

我用下面

C:\\\Program Files\\\MPlayer for Windows mplayer file.mp4 -benchmark -noframedrop -ao null -vo jpeg:outdir=iframes -vf framestep=I 

實際的命令java代碼像使用DOS是

"mplayer file.mp4 -benchmark -noframedrop -ao null -vo jpeg:outdir=iframes -vf framestep=I". 

Eclipse工作區是在我的d提取:drive.And的MPlayer是在c:\ program files \ Mplayer for windows中。

Eclipse IDE中顯示爲例外: -

Exception in thread "main" java.io.IOException: Cannot run program "C:\Program Files\MPlayer for Windows": CreateProcess error=5, Access is denied 
    at java.lang.ProcessBuilder.start(Unknown Source) 
    at java.lang.Runtime.exec(Unknown Source) 
    at java.lang.Runtime.exec(Unknown Source) 
    at myvideo1.main(myvideo1.java:39) 

任何幫助是極大的讚賞。

+0

只需添加'mplayer'在PATH – 2011-04-26 17:16:59

+0

發佈你的代碼,現在看來你正在執行一個文件夾 – Aleadam 2011-04-26 17:20:00

+0

我認爲這也可能是問題 - 你錯過了一組正斜線? – Liv 2011-04-26 17:20:54

回答

0

試試這個:

exec("\"C:\\Program Files\\MPlayer for Windows\\mplayer\" file.mp4 -benchmark -noframedrop -ao null -vo jpeg:outdir=iframes -vf framestep=I"); 

我在\包圍命令」,因爲路徑包含空格,並增加了丟失\ MPlayer中的前

+0

嗨LAZ我想你給什麼上面,但它顯示了同樣的錯誤,那是mplayer的'不是一個文件夾,它是命令的一部分: - mplayer的file.mp4 -benchmark -noframedrop -ao空-vo JPEG:OUTDIR = I幀-vf framestep = I – 2011-04-27 04:54:03

+0

當然,我認識到mplayer是可執行文件,而不是目錄。我提供的字符串不會將其視爲目錄。 mplayer之後的'\'是爲了避免字符串中的'''字符。因爲目錄路徑包含空格,所以需要'''。 – laz 2011-04-27 16:44:17