Re: [問題] 用java執行.exe檔的問題

看板java作者時間15年前 (2009/07/24 16:37), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/5 (看更多)
※ 引述《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
BufferedReader - readLine 是 block IO。
07/24 18:03, 1F
文章代碼(AID): #1AQNAo9h (java)
討論串 (同標題文章)
文章代碼(AID): #1AQNAo9h (java)