線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2382
推到 Plurk!
推到 Facebook!

請幫忙回答一下,謝謝大家的幫忙

尚未結案
swama
一般會員


發表:2
回覆:5
積分:1
註冊:2005-05-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-23 20:15:42 IP:218.164.xxx.xxx 未訂閱
請問有人知道該如何使用JAVA去呼叫其它程式,例如要呼叫的程式是在DOS的介面,而且另外要如何才能利用JAVA直接對DOS下輸入指令,就是要讓DOS下的程式可以利用JAVA來呼叫並下指令,麻煩大家幫幫忙一下。 JAVA的初學者,謝謝各位 方便的話可以寄到我的MAIL中:swama.evil@msa.hinet.net 謝謝大家。
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-23 21:21:07 IP:61.56.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?topic_id=34020 參考: http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html
swama
一般會員


發表:2
回覆:5
積分:1
註冊:2005-05-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-24 10:16:26 IP:218.164.xxx.xxx 未訂閱
請問這個method可以呼叫.bat的程式嗎? 還有可以在呼叫出來的程式中(dos的介面)下指令嗎? 謝謝各位。
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-24 11:32:34 IP:61.64.xxx.xxx 未訂閱
引言: 請問這個method可以呼叫.bat的程式嗎? 還有可以在呼叫出來的程式中(dos的介面)下指令嗎? 謝謝各位。
試了之後.再問吧. 唯一要注意的是路徑問題,如"\"改為"/"或是"\\"為宜
swama
一般會員


發表:2
回覆:5
積分:1
註冊:2005-05-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-24 11:47:31 IP:218.164.xxx.xxx 未訂閱
你好,我就是試過了而且我的路徑也是使用二個如:"C:\\Program files\\cnet\\a.bat" 但是就是沒有反應,而且編譯時也沒有出現錯誤的訊息,所以我才會上來問的,不是我沒試過就問了,謝謝你的回答。
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-24 12:24:11 IP:61.64.xxx.xxx 未訂閱
引言: 你好,我就是試過了而且我的路徑也是使用二個如:"C:\\Program files\\cnet\\a.bat" 但是就是沒有反應,而且編譯時也沒有出現錯誤的訊息,所以我才會上來問的,不是我沒試過就問了,謝謝你的回答。
沒有反應 ? 你有沒有try{....}catch(...){} ?
try{
    java.lang.Runtime rt=java.lang.Runtime.getRuntime();
    java.lang.Process  process=
rt.exec("C:/Program Files/WinRAR/rar a -df  c:/file2mail c:/folder2rar/*.txt");
    java.io.BufferedReader   br=new java.io.BufferedReader(
     new java.io.InputStreamReader( process.getInputStream()));
    String consolStr=br.readLine();
    while(consolStr!=null){
      System.out.println(consolStr);
      consolStr=br.readLine();
    }
    br.close();
    System.out.println("Compress complelet!!");
  }catch(Exception exp){
    exp.printStackTrace();
  }
上例就是用winrar的rar壓縮出file2mail.rar檔的過程 建議你要用例外處理.看一下是什麼錯誤.
swama
一般會員


發表:2
回覆:5
積分:1
註冊:2005-05-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-24 13:33:32 IP:218.164.xxx.xxx 未訂閱
有出現正確訊息了,先說聲謝謝你,但它只有執行我的程式,然後就關閉了,我的這個介面是在dos下的,有沒有辦法讓它停留在我所執行的程式下,然後還可以利用java自動輸入指令,讓我dos下的程式可以直接利用java來啟動它再利用java下執令讓它執行呢,謝謝你。
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-05-24 14:22:08 IP:61.64.xxx.xxx 未訂閱
引言: 有出現正確訊息了,先說聲謝謝你,但它只有執行我的程式,然後就關閉了,我的這個介面是在dos下的,有沒有辦法讓它停留在我所執行的程式下,然後還可以利用java自動輸入指令,讓我dos下的程式可以直接利用java來啟動它再利用java下執令讓它執行呢,謝謝你。
他有沒有參數可以控制的方式? 畢竟基於安全及跨平台之原則.runtime.exec是最"姑不而將"的做法. 要不,就是把這個dos programm包成dll.再由jni去呼叫. 一定要靠這樣的java-->dos app去做的話,要負擔點訊息lost的風險.
swama
一般會員


發表:2
回覆:5
積分:1
註冊:2005-05-23

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-05-24 14:30:33 IP:218.164.xxx.xxx 未訂閱
你說的有沒有參數可下是指dos的程式有沒有參數去執行它嗎?還是指什麼,我不太清楚,不好意思,可以請你說明白一點嗎?謝謝。
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-05-24 14:59:46 IP:61.64.xxx.xxx 未訂閱
引言: 你說的有沒有參數可下是指dos的程式有沒有參數去執行它嗎?還是指什麼,我不太清楚,不好意思,可以請你說明白一點嗎?謝謝。
是的. 如同我那個rar示範,"a -df ...." 都是rar的參數
系統時間:2024-04-29 1:01:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!