免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1644 | 回复: 3
打印 上一主题 下一主题

java调用外部exe程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-23 17:21 |只看该作者 |倒序浏览
ublic class RuntimeTest {
   public static void main(String args[]){
             try{
          Runtime rt = Runtime.getRuntime();
          String cmd[]={"notepad.exe"};
          Process p = rt.exec(cmd);
             int exitValue = p.waitFor();
             System.out.println(exitValue);
             BufferedReader input = new BufferedReader
                (new InputStreamReader(p.getInputStream()));
      String line;
             while ((line = input.readLine()) != null) {
      System.out.println(line);
      }
      input.close();
     } catch (Exception e){
       System.out.println("error";          
     }
   }//end of main
}
调用notepad程序 没有问题

可是我想调用我自己写的一个test.exe
程序就会挂起 没有任何的反应
可是也不报错
请问 runtime类 能运行自己写的exe文件吗?

论坛徽章:
0
2 [报告]
发表于 2005-05-23 17:41 |只看该作者

java调用外部exe程序

最麻烦的 是这个test.exe要接受两个参数

论坛徽章:
0
3 [报告]
发表于 2005-05-23 17:43 |只看该作者

java调用外部exe程序

哎 问题解决了
把参数 也写到cmd【】数组里就可以了

论坛徽章:
0
4 [报告]
发表于 2005-05-25 15:39 |只看该作者

java调用外部exe程序

import java.io.*;
puvlic class Run{
        public static void main(String args[]){

                //String cmd = "";
                //if (! System.getProperty("os.name".equals("Windows NT") cmd =
"command";

                try {
                        String cmd="";
                        for(int i=1;i<=args.length;i++){
                                cmd = cmd + " " + args[i-1];

                        }
                        cmd = cmd.trim();
                        Process process = Runtime.getRuntime().exec(cmd);
                        InputStreamReader ir=new
InputStreamReader(process.getInputStream());
                        LineNumberReader input = new LineNumberReader(ir);
                        String line;
                //      String os=new String(System.getProperty("os.name");
                //      System.out.println("#########"+os+"###########";
                        while ((line = input.readLine ()) != null)
                                System.out.println(line);
                        ir.close();
                        input.close();
                        }
                catch (IOException ex) {
                         System.err.println(ex);
                        }
                }

}

java Run ping 202.197.208.7
java Run cat /var/log/ulogd.syslogemu |grep SRC|awk '{print $9}' |awk -F = '{print $2}'|uniq -c

循环读取数组中的参数,cu精华办好像见过
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP