【Java 代码实例 9】Java通过Process执行C# exe程序

🍅 Java学习路线:搬砖工逆袭Java架构师

🍅 简介:Java领域优质创作者🏆、优快云哪吒公众号作者✌ 、Java架构师奋斗者💪

🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步 

🍅 欢迎点赞 👍 收藏 ⭐留言 📝  

一、前言

最近在开发的时候,遇到java调用C#exe程序的时候,通过Process执行,一般C#程序都有日志输出,但是通过Java怎么获取呢?这其中又会遇到一些什么问题呢?

想通过C#小程序上传文件到服务器,通过Process执行exe文件,但是上传成功与否,要通过小程序的日志来分析,但怎么获取日志呢?百度了一下,通过字符型输入流就可以,虽然功能实现了,但不知道为什么?

public static boolean uploadFileByFtp(String path) {
    try {
        Process pro = Runtime.getRuntime().exec("cmd /c " + "D:\\tool\\uploadFileByFtp.exe" + " " + path);
        BufferedReader br = new BufferedReader(new InputStreamReader(pro.getInputStream()
CLR泛型底层原理:JIT实例化、约束验证与协变机制解析 泛型是.NET类型系统的核心机制,其本质并非语法糖,而是由CLR在运行时严格保障的类型契约。理解泛型需从IL元数据结构出发,掌握JIT如何为值类型和引用类型分别生成专用机器码,以及`where T : class/struct`等约束如何直接影响内存布局与方法分发路径。泛型协变与逆变并非类型转换,而是CLR对虚表调用链的拓扑重写,仅适用于接口和委托。技术价值体现在性能优化(如避免装箱)、内存控制(栈/堆分离)与类型安全强化;典型应用场景包括高性能集合库开发、DI容器泛型服务解析、序列化框架适配及AOT预编译 阅读详情

相关推荐

PowerBuilder调用C# DLL实现国密SM4加密:老系统现代化实战

在软件系统集成与数据安全领域,跨语言调用与算法集成是常见的工程挑战。其核心原理在于通过标准接口(如COM)在不同编程环境间建立通信桥梁,实现功能复用与生态互补。这种技术方案的价值在于,它能以较低的成本和风险,为遗留系统快速注入现代能力,有效平衡系统稳定性与功能先进性。典型的应用场景包括为使用PowerBuilder、VB等传统技术栈开发的金融、医疗、制造业ERP系统,集成数据加密、二维码生成、复杂文件处理等原生难以高效实现的功能。本文以国密SM4算法集成为具体案例,详细阐述了如何利用C#丰富的类库生态封装核

stevenbill的博客 210

腾讯C#十五年跨平台演进:从Windows孤岛到云原生主力

C#长期被误认为Windows专属语言,但其本质是基于CLI规范的通用编程平台。本文从.NET运行时原理出发,解析如何通过Mono定制、.NET Core重构与混合部署等工程手段,突破操作系统绑定限制,实现跨Linux(tlinux)、容器化及云原生环境的稳定落地。技术价值在于将语言能力解耦于平台约束,支撑高并发API网关、金融级清算系统与Unity手游热更新等多元场景。文中深度融合‘.NET Core跨平台’‘tlinux适配’两大热词,呈现国内头部企业真实的大规模遗留系统现代化路径。

didi9310的博客 354

传统ERP系统接口逆向分析:从易飞9审核功能到外部系统集成实战

系统集成是现代企业数字化转型中的核心需求,尤其在连接传统ERP与新兴业务系统时,如何安全、稳定地实现数据与流程互通成为技术挑战。其原理在于通过协议分析、数据抓包和逆向工程,理解遗留系统的内部通信机制与业务规则,从而构建适配接口。这一技术的价值在于能够在不改造原有系统核心的前提下,打通信息孤岛,提升业务流程自动化水平。常见的应用场景包括将传统ERP的审核、单据处理等功能封装为API,供OA、MES等外部系统调用。本文以易飞9的审核功能为具体案例,深入探讨了通过数据库探查、网络抓包等逆向工程方法,分析其审核机制

weixin_30247307的博客 382

C#工业上位机开发实战:通信协议、线程调度与数据可信

上位机开发本质是构建工业现场的数据管道,核心在于实现设备通信、实时采集与可靠呈现。它涉及Modbus/S7等工业协议解析、多线程与UI调度协同、高精度时间戳与数据溯源等关键技术。C#凭借.NET Framework在工控环境的深度兼容性(如Win7/XP支持)、WPF硬件加速渲染能力及丰富工业库生态,成为中小制造企业产线监控系统的主流选择。面对‘c#循环数据采集和ui刷新卡顿’‘c#扫码枪触发事件丢包’等高频痛点,需跳出语法教学,聚焦协议适配、线程安全缓冲、Stopwatch时间基准、异常隔离等工程实践。本

weixin_34238633的博客 309

用友U9 PatchFile.asmx任意文件上传漏洞复现与安全加固

文件上传功能是Web应用中的常见组件,其核心原理是服务器接收客户端提交的文件数据并存储至指定位置。在实现过程中,若对用户可控的“目标路径”参数缺乏严格校验,则可能引发任意文件上传漏洞,其技术价值在于攻击者可借此在服务器上写入恶意文件,进而可能实现远程代码执行,危害极大。此类漏洞常出现在ERP、OA等企业级应用的文件更新或补丁管理接口中。本文以用友U9 ERP系统的PatchFile.asmx接口为例,深入剖析其因路径校验缺失导致的“任意文件上传”漏洞原理,并详细演示了如何通过构造恶意SOAP请求上传WebS

搜索 639

Java通过Process执行C#可执行程序

在读取输出时,我们可以根据需要进行相应的处理。上面的示例中,我们只是简单地将输出打印到控制台,但你可以根据实际需求对输出进行解析和处理。类来执行C#可执行程序,并与其交互。方法,等待进程执行完成。对象,它接受一个字符串参数,表示C#可执行程序的路径。类来执行外部的可执行程序,这也包括执行C#编写的可执行文件。类,我们可以与操作系统交互,并执行C#可执行程序的功能。接下来,我们获取进程的输出流,并使用。需要注意的是,执行C#可执行程序前,你需要将路径。方法获取进程的退出码,以判断进程是否执行成功。

CyberBladeX的博客 191

C#工业级无人值守地磅系统设计与落地实践

无人值守地磅系统本质是工业现场高可靠闭环控制系统,其核心在于硬件通信稳定性、业务逻辑刚性约束与零接触运维能力的协同实现。基于C#构建的地磅上位机,依托.NET对Windows工控生态的原生支持、IOCP驱动的确定性实时响应,以及Windows服务+配置分离的分层架构,可有效应对电磁干扰、传感器漂移、断网断电等真实工况。技术价值体现在串口容错状态机、车牌识别自适应预处理、可热更新防作弊规则引擎等工程化设计;典型应用于钢铁厂、物流园区、砂石料场等地磅自动化称重场景。本文聚焦UartAssist.cfg硬件参数调

weixin_34302561的博客 380

永磁同步电机无传感器控制:HFI与ESMO技术详解

高频注入(HFI)和增强型滑模观测器(ESMO)是现代永磁同步电机(PMSM)无传感器控制的核心技术。HFI通过注入高频信号利用电机凸极效应获取转子位置,而ESMO则通过改进传统滑模观测器,有效抑制抖振并提升动态响应。这两种技术的结合特别适用于零低速区域的位置估计,在工业伺服、电动汽车等领域有广泛应用。方波高频注入作为实现方案之一,具有计算量小、实现简单的特点,配合自适应滤波等信号处理技术,可以在保证精度的同时降低系统成本。

weixin_29183637的博客 355

深入浅出:CosineLRScheduler 调度器的原理与实战应用

本文深入解析了CosineLRScheduler调度器的核心原理与实战应用,详细介绍了余弦退火算法及其在深度学习模型训练中的优势。通过参数配置建议、PyTorch实现示例和常见问题解决方案,帮助开发者高效应用该调度器提升模型性能,特别适用于计算机视觉和自然语言处理任务。

sss66的博客 859

Python自动化车载测试:5分钟搞定CANoe COM接口调用(附完整代码)

本文详细介绍了如何使用Python快速实现CANoe COM接口调用,完成车载测试自动化。通过实战案例展示ECU信号测试框架搭建,包括环境配置、核心架构解析、信号读写封装及多线程安全方案,帮助开发者5分钟内掌握高效测试技巧。

vv45678的博客 1133

人工智能面试总结-分类与聚类

目录说说常用的分类算法,以及各自的优缺点?说说为什么正确率有时不能有效评估分类算法?说说什么样的分类器最好?说说聚类算法有哪些衡量标准?(选看)各聚类算法性能比较汇总说说什么是聚类,你知道哪些聚类算法?具体展开介绍你知道的聚类算法?说说K-Means聚类算法流程?说说K-Means聚类算法如何调优?说说K-Means聚类算法如何选择初始点?说说K-Means聚类聚的是特征还是样本?说说K-Means聚类的特征距离是如何计算的?说说聚类与分类的区别?手撕K-Means聚类 说说常用的分类算法,以及各自的优缺点

啥都生的博客 3863

倍福PLC--PERSISTENT断电保持数据和BOOT中各文件对应的解析

将D:\TC3程序\TwinCAT Project146\TwinCAT RT(x86)\Plc 文件夹的中三个替换文件复制到:G:\TwinCAT\3.1\Boot\Plc完成替换,如下图。(2) 找到程序所存的路径,编程电脑的D:\TC3程序\TwinCAT Project146路径下,并选择对应系统平台TwinCAT RT(x86)(3) 控制器断电,拔出内存卡,使用读卡器,在编程电脑中打开:(本次测试读卡器为G盘)(5) 开机完成后,TwinCAT自动运行,当前闪灯频率为50ms。

weixin_41883890的博客 2344

vue2/3 - [超详细] 实现企业微信扫码登录完整流程及代码,vue项目接入企业微信扫码登录功能教程,支持新跳页显示二维码或div容器里内嵌登录二维码(详细代码注释,一键复制开箱即用)

vue企业微信扫码登录,vue网页网站企业微信扫码登录教程,vue如何实现企业微信扫码登录功能,vue详细企业微信扫码登录功能实现,vue2实现企业微信扫码登录,前端vue企业微信扫码登录教程,vue pc电脑端企业微信扫码登录详细教程,vue项目中怎么做企业微信扫码注册登录,vue实现网站接入企业微信扫码登录,vue2做企业微信扫码登录的优质文章教程,vue网站对接企业微信扫码登录,vue企业微信扫码登录如何新开一页全屏显示登录二维码,vue企业微信登录二维码 内嵌在div容器里/跳页显示登录二维码,vu

✅ 精选推荐文章 5702

PyTorch深度学习实战(24)——使用U-Net架构进行图像分割

图像分割 (Image segmentation) 是计算机视觉领域中的一个重要任务,旨在将图像划分为具有语义信息的不同区域或对象。与目标检测任务不同,图像分割要求像素级别的精确定位和分类,将每个像素标记为属于哪个类别或属于哪个区域。在本节中,我们将介绍图像分割的基本概念,并训练一个基于 U-Net 架构的图像分割模型。

盼小辉丶的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: 【Java基础知识 10】Java IO流详解
下一篇: Java反射中,为什么推荐Class.forName()获取class?
哪 吒
哪 吒 2022年度博客之星TOP 1 2022年度博客之星TOP 1 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 59万+粉丝 2953原创
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值