Re: [問題] 用java執行.exe檔的問題
※ 引述《meerkatani (米凱)》之銘言:
: 不好意思我是超級新手
: 如果問題笨了請不要見怪>"<
: 我在寫一個java的程式
: 需要在其中執行一個.exe檔
: 那個.exe檔是用c寫的
: 最後有用prinf印出一些資料
: 我想要在java裡執行這個檔案之後
: 讀進這些資料
: 我用
: Process p = Runtime.getRuntime().exec("c:\\test\\a.exe");
: BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
: System.out.println(br.readLine());
: 程式似乎有執行
: 但是print出來的一直都是null
: 請問大大為什麼會這樣??T_T
: 要怎麼樣才能讀進我想要的東西??
: 謝謝>"<
我不確定我100%正確 , 但容許我猜一下
我猜 Runtime.getRuntime().exec() 並非io-block的指令
所以 你執行了以後 你的java在跑 你的p也在跑
結果你的JAVA搶先執了 System.out.println() 在c的printf前
你要不要試著先
while(true){
Sleep(1000);
System.out.println(br.readLine());
}
試看看 ???
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.237.63
→
07/24 18:03, , 1F
07/24 18:03, 1F
討論串 (同標題文章)