• JAVA 和 C# 调用外部.exe文件,传值并等等exe完成,获取返回值


    JAVA-

    	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("
    ");
    				}
    				while ((line = error.readLine()) != null) {
    					errorMsg.append(line).append("
    ");
    				}
    				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:GateWayPrjCheck.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();
          
    

      

  • 相关阅读:
    OKR让你的目标杜绝“虎头蛇尾”
    OKR让你的团队更加优秀
    个人与企业OKR如何做好联结(三)
    OKR的最佳状态不是满分
    Tita OKR:目标地图的妙用
    个人与企业OKR如何做好联结(四)
    函数可以替换成过滤器demo
    @click传递事件和参数
    vue组件
    watch与computed区别
  • 原文地址:https://www.cnblogs.com/liuruitao/p/5715522.html
Copyright © 2020-2023  润新知