问题1,   
  现有a.exe程序一个,里面有方法func_a()   
    
  我知道可以使用runtime在java里直接运行a.exe.   
    
  如:Process   p   =   Runtime.getRuntime().exec("a.exe")   
    
  现在的问题是,如何调用其中的方法func_a()   
    
    
    
  问题2,如何在java中实现a.exe的流输入   
    
  我现在知道可以通过下面的方法来实现获得a.exe的打印输出   
  Process   ps   =   Runtime.getRuntime().exec("a.exe")   
  InputStreamReader   ir   =   new   InputStreamReader(ps.getInputStream());   
  LineNumberReader   input   =   new   LineNumberReader(ir);   
  String   line1=input.readLine();   
    
  但本来a.exe是可以接收输入信息,而后做一些相应的操作的。现在如何在java里也实现相应的操作。   
  我想可能是用   OutputStreamWriter   or   =   new   OutputStreamWriter(ps.getOutputStream())来实现,但我一直没有成功。   

解决方案 »

  1.   

    一般程序都可以带运行参数,你看看a.exe能不能给传递某个参数,然后让它根据参数调用哪个方法
      

  2.   

    runtime方法我觉得应该是不行的。其他有没有办法我就不知道了。
      

  3.   

    java这样调用纯windows平台的.exe,还要求互动,已经是有点违背java在虚拟机上运行的基本原理了。
    估计得去找找第三方插件了,sun肯定不会专门去开发这样的东西。
      

  4.   

    很欣赏你能通过java调用exe
    但是想二者交互你还是用jni或者jna吧