作者neigence ()
站内java
标题Re: [问题] 用java执行.exe档的问题
时间Fri Jul 24 16:37:05 2009
※ 引述《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
1F:→ sbrhsieh:BufferedReader - readLine 是 block IO。 07/24 18:03