JAVA 和 C# 调用外部.exe文件,传值并等等exe完成,获取返回值
2016-07-28 17:12
666 查看
JAVA-
C#
String ykexe = getProperty("ykexe") + " " + tableout; //getproperty("ykexe") 路径 tableout 参数,多个参数用空格隔开 StringBuilder infoMsg = new StringBuilder(); StringBuilder errorMsg = new StringBuilder(); String line = null; while (true) { Runtime rn = Runtime.getRuntime(); Process p = null; try { p = rn.exec(ykexe); try { p.waitFor(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } BufferedReader info = new BufferedReader(new InputStreamReader( p.getInputStream())); BufferedReader error = new BufferedReader( new InputStreamReader(p.getErrorStream())); while ((line = info.readLine()) != null) { infoMsg.append(line).append("\n"); } while ((line = error.readLine()) != null) { errorMsg.append(line).append("\n"); } if (infoMsg.toString().contains("OK")) { return true; } else { System.out.println(errorMsg.toString()); return false; } } catch (IOException e) { // TODO Auto-generated catch block // p.destroy(); e.printStackTrace(); return false; }
C#
string path = @"C:\GateWay\PrjCheck.exe"; string fileName = path; Process p = new Process(); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.FileName = fileName; p.StartInfo.CreateNoWindow = true; p.StartInfo.Arguments = "IHSUSAA_1508211711";//参数以空格分隔,如果某个参数为空,可以传入”” p.Start(); p.WaitForExit(); //此处可以返回一个字符串,此例是返回压缩成功之后的一个文件路径 string output = p.StandardOutput.ReadToEnd();
相关文章推荐
- java http接口和webservice接口开发
- Java动态代理
- Spring Boot实战之全局异常捕获 实现参数异常检查返回统一错误信息
- Spring整理
- 深入理解Java:注解(Annotation)--注解处理器
- Eclipse FindBugs插件安装与使用
- mybatis+SpringMVC环境搭建
- 关于Spring的69个面试问答
- 在java项目中使用log4j的实例
- Spring4笔记----实现 FactoryBean 接口配置 Bean
- java 反射
- java代理机制
- java 之eclipse 快捷键
- Windows 下配置 Eclipse 连接 Hadoop 开发环境
- 吴哥哥的PixHawk开发笔记 基于windows eclipse
- Java并发程序设计(1)
- java之JDBC增删改查操作
- java线程基础
- Java学习笔记--类加载机制
- BigInteger与16进制之间的转化