小弟的项目里面涉及到这方面的应用,具体如下:
1。有一个外部程序,从键盘读入一串字符,然后显示,C语言代码如下
#include <stdio.h>
main()
{
    char s[100];
    printf("Please input\n");
    scanf("%s", s);
    printf("Output: %s\n", s);
}编译这个程序得到可执行文件test.exe。现在小弟我要在Java程序里面调用这个Windows本地程序,那么我的代码如下:PrintWriter writer = null;
    try {
final Process p = Runtime.getRuntime().exec("test.exe");
            
        if(errorMessage != null) {
         System.out.println("Output: " + errorMessage);
        }
            
        //输入
        writer = new PrintWriter(p.getOutputStream());
writer.println("12345\n");
writer.close();
            
p.waitFor();        errMsg = p.getInputStream();
byte [] buffer = new byte[1024];
        int len = errMsg.read(buffer);
        errMsg.close();
        String errorMessage = new String(buffer, 0, len);        if(errorMessage != null) {
             System.out.println("Output: " + errorMessage);
        }

catch (Exception e) {
        e.printStackTrace();
}执行之后程序没有任何输出。谁能看出问题所在?