我们有一个JavaSE(准确的说是 Eclipse RCP的,不过这不影响我的问题描述)的程序,里面用了JNI技术,JNI那边是用C++写的代码。发现呢,System.out.println("xx");的信息输出可以打印到控制台(即可以看到打出的信息),但是C++那部分打印的东西看不到。我想到了用Process.getOutputStream() 来获得C++那部分代码的输出。所以现在的问题就是要得到当前的这个Process。
我们知道如果启动一个带有main方法的java类的话,他应该在一个 javaw.exe 进程中。怎么样用java代码获得 这个进程 Process 对象呢?

解决方案 »

  1.   

    Thread currentThread = Thread.currentThread();  // 获得当前的线程          
    String threadName = currentThread.getName();  
      

  2.   


    这个,是得到了线程吧? 我想要的是进程呀。 java.lang.Process.
      

  3.   

    JNI。。没用过,也不想用,
    不过,既然可以写一个 本地方法 来调用 JNI ,为什么不能再写一个本地方法来返回 输入输出流呢
      

  4.   


    呵呵 如果这样,倒不如直接传一个文件的引用到JNI,C++直接把内容输出到文件。。Anyway, thanks!
      

  5.   

    JNI是不很高深啊,越发觉得是这样子的