[开发技巧] Java调用可执行程序和批处理命令

在Android平台启动Linux C/C++应用程序   Android是移动设备的主流操作系统,近年来越来越多的工业领域的客户开始关注基于Android操作系统的设备在工控领域的应用。鉴于Android是基于Linux内核的事实,我们发展了一种以双应用进程为特色的Android工控应用方案,并在ESM6802工控主板上加以实现。具体说来,就是在Linux平台上运行一个直接操作硬件接口的控制通讯管理进程,为保证运行效率,该进程采用C/C++语言编写(... 阅读详情

 

 

 

樊欢 java爱好者。

Email heydaymail@hotmail.com

Blog http://heyday.blogone.net

2005-6-13

 

 

 

引用地址

      

 

 

 

引言

       Java 是种跨平台的语言,我们经常碰到需要通过Java调用windows下某些程序。有些第三方厂商如(ANT),也提供了调用windows下可执行程序的方法,但我们往往需要调用一些批处理命令。而java 却不提供。

       这里,我采用一种变相的调用方法,使得Java 能调用批处理命令。如果您有更好的方法,希望您能告诉我。

 

 

 

期准备

       Quick Batch File (De)Compiler

将任何BATCMD批处理脚本编译为EXE文件!

 

 

 

开始

1.  运行exe 文件

Java JDK里已经提供了调用的方法,不在累赘,代码如下。

    try {

        String command = "notepad";

        Process child = Runtime.getRuntime().exec(command);

} catch (IOException e) {

   

    }

 

 

 

2.  运行 bat(批处理) 文件

Java 对批处理文件还不支持。刚开始一直在研究 Java 如何调用批处理文件,始终找不到解决方法。后来只好绕过批处理,考虑如何将批处理转换为exe可执行文件。然后再通过Java调用可执行文件。

 

 

 

Google上搜索一下,找到Quick Batch File (De)Compiler,可以将任何BATCMD批处理脚本编译为EXE文件。使用了一下,果然可以。

 

 

 

Quick Batch File (De)Compiler使用非常简单:

Quickbfc 文件名.bat 文件名.exe(将批处理命令编译为可执行文件)

quickbfd 文件名.exe 文件名.bat(将可执行文件反编译为批处理命令)

 

 

 

              然后,我们再按第一种方法通过Java 调用,即可。

 

 

 

关于作者

樊欢 java爱好者,您可以通过heydaymail@hotmail.com与我联系。

       Email heydaymail@hotmail.com

Blog http://heyday.blogone.net

 

 

 

Win11安卓子系统无法启动全攻略:三种方法助你快速解决 如果修复操作未能解决问题,可以点击“重置”按钮,这将把安卓子系统恢复到初始安装状态,注意此操作会清除所有与安卓子系统相关的数据设置。 阅读详情

相关推荐

博途WinCC多语言项目配置指南

在博途(TIA Portal)中为WinCC项目配置多语言功能,需通过系统化步骤实现界面文本的动态切换。

dhaimo的博客 2390

windows批处理命令执行java程序

NULL 博文链接:https://blackbaby.iteye.com/blog/882732

Python 爬虫实战:抓取应届生求职网校招岗位信息,助力学子就业

应届生求职网作为国内知名的招聘平台,汇聚了大量企业的校招岗位信息。了解这些岗位信息,对于应届毕业生制定求职策略、企业制定招聘计划以及相关就业市场分析等都具有重要意义。因此,本文将深入探讨如何运用 Python 爬虫技术从应届生求职网平台抓取校招岗位信息,为应届毕业生提供有益的就业信息支持。本文深入探究了利用 Python 爬虫技术从应届生求职网平台抓取校招岗位信息的全流程。从前期的环境搭建、模拟登录,到核心的数据抓取、存储,再到后续的数据分析与可视化,都详细展开讲解并提供代码支持。

u014481728的博客 1278

[JAVA基础]使用Java语言调用批处理命令的方法(WindowsLinux平台)

java调用系统命令

paperperson的博客 1099

Process对象.waitFor()的阻塞问题(坑)

有时需要在程序中调用可执行程序或脚本命令: Process process = Runtime.getRuntime().exec(shPath); int exitCode = process .waitFor(); Runtime.getRuntime()返回当前应用程序的Runtime对象,该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对...

wangpeng322的博客 1万+

java执行bat、exe等cmd命令

java执行cmd

furenqiang的博客 3422

java 执行批处理命令

Java 执行批处理命令:新手指南 作为一名经验丰富的开发者,我经常被问到如何使用Java来执行批处理命令。今天,我将通过这篇文章,向刚入行的小白们介绍实现这一功能的步骤代码示例。 步骤流程 首先,让我们通过一个表格来概述整个流程: 步骤 描述 1 导入必要的类 2 创建 ProcessBuilder ...

weixin_36899320的博客 238

java 执行批处理命令行_java执行命令行或者shell脚本,批处理的基本方法

在项目中,有时候需要写一个项目的辅助工具类,这些工具少不了与shell 脚本或者命令行或者批处理文件打交道,用java 来统一这些工具,看起来像一个整体,总结了一下,一般有以下几种方式 :1. 用 java 执行简单的命令并得到结果2. 用java执行 复杂的cmd 或者 shell 命令3. 用java执行外部批处理命令,这个比较特殊,很容易出错, 更复杂的处理java 执行 cmd ...

weixin_35672450的博客 604

Android应用程序的快速启动是怎样炼成的

转载自:http://blog.csdn.net/wxzking/article/details/5857172       Android系统框架上层应用是类java(不是正统的sun java开发的,实现了自己的java虚拟机dalvik,既然用java虚拟机java开发,一般都会认为效率低下。其实不然,在基本主流的智能手机的软件平台上,android的执行速度是最快的。

yy228的专栏 723

Android应用程序的快速启动是怎样炼成的?

Android系统框架上层应用是类java(不是正统的sun java开发的,实现了自己的java虚拟机dalvik,既然用java虚拟机java开发,一般都会认为效率低下。其实不然,在基本主流的智能手机的软件平台上,android的执行速度是最快的。 那么android效率为什么这么的高呢?特别是一个应用程序的启动时间很短,本文主要从以下个八方面进行分析: ...

abc20899的专栏 112

Android应用程序的快速启动是怎样炼成的?(转)

Android系统框架上层应用是类java(不是正统的sun java开发的,实现了自己的java虚拟机dalvik,既然用java虚拟机java开发,一般都会认为效率低下。其实不然,在基本主流的智能手机的软件平台上,android的执行速度是最快的。 那么android效率为什么这么的高呢?特别是一个应用程序的启动时间很短,本文主要从以下个八方面进行分析: [b...

qiaoweishu的博客 139

安卓Android入门

Android基于Linux内核,这使得它具有强大的硬件兼容性稳定性。

m0_74154295的博客 2203

android 快速启动服务,Android应用快速启动设计

Android启动过程Anroid应用启动在应用层主要分为如下几个阶段:Application初始化,Activity初始化,Service初始化,视图Tranversal从快速启动的角度来看,应用需要优先展现用户可见界面,Service初始化在快速启动阶段不是必须的,Application初始化,Activity初始化视图Tranversal是必须。这里将启动过程分为快速启动阶段延迟初始化阶...

weixin_35902481的博客 456

Android应用程序快速启动的秘诀

Android系统框架上层应用是类java(不是正统的sunjava开发的,实现了自己的java虚拟机dalvik,既然用java虚拟机java开发,一般都会认为效率低下。其实不然,在基本主流的智能手机的软件平台上,android的执行速度是最快的。       那么android效率为什么这么的高呢?特别是一个应用程序的启动时间很短,本文主要从以下个八方面进行分析:

shenbin1430的专栏 1456

Android应用程序的快速启动

Android系统框架上层应用是类java(不是正统的sun java开发的,实现了自己的java虚拟机dalvik,既然用java虚拟机java开发,一般都会认为效率低下。其实不然,在基本主流的智能手机的软件平台上,android的执行速度是最快的。        那么android效率为什么这么的高呢?特别是一个应用程序的启动时间很短,本文主要从以下个八方面进行分析: 1、 资源文件的优

linux嵌入式驱动软件开发 1295

android应用程序快速启动秘诀

Android系统框架上层应用是类java(不是正统的sun java)开发的,实现了自己的java虚拟机dalvik,既然用java虚拟机java开发,一般都会认为效率低下。其实不然,在基本主流的智能手机的软件平台上,android的执行速度是最快的。 那么android效率为什么这么的高呢?特别是一个应用程序的启动时间很短,本文主要从以下个八方面进行分析: 1、 资源文件的优化...

sensible215的博客 178

安卓应用程序启动过程学习

1.应用程序启动分类 冷启动     这种方式应用需要完成完整的启动过程,即创建进程、初始化资源及显示应用界面,相比于另外两种启动模式,应用冷启动耗时最长。 热启动     这种方式下应用进程已经启动,通常只需将要显示的activity带到前台即可,所以在该模式下应用可以较快速启动。 温启动     这种方式需要完成部分冷启动过程,比如进程已经创建,但要重新执行activity的onCreate()来创建要显示的activity,这种模式下的启动时间介于以上两种之间。 2.应用程序启动相关角色 zygote

weixin_41607932的博客 2843

dnSpy 32位64位V6.1.8

dnSpy是目前业界广泛使用的一款.NET程序的反编译工具,支持32位64位系统环境。它允许用户查看编辑.NET汇编反编译代码,以及调试.NET程序。该工具通常用于程序开发者在维护调试过程中分析程序代码,尤其在源代码丢失或者无法获取的情况下,dnSpy能提供很大的帮助。V6.1.8版本的dnSpy是在此系软件更新迭代中的一个具体版本号,代表着该软件所具备的功能与性能已经达到了一个相对稳定的水平,对于处理.NET程序具有较高的可用性稳定性。两个版本,即32位的dnSpy-net-win3264位的dnSpy-net-win64,确保了不同操作系统架构的用户都能使用dnSpy进行软件分析。32位的系统架构相较于64位,由于其地址空间的限制,只能支持最多4GB的内存空间使用,这在处理大型项目时可能会出现不足。而64位的系统能够支持更大的内存空间,使得在处理大型项目时更为方便。随着计算机硬件的发展,64位系统已经成为了主流,因此64位的dnSpy也更加受开发者欢迎。压缩包文件名“dnSpy-net-win64.7z”“dnSpy-net-win32.7z”中的“.7z”表示该压缩包采用了7-Zip压缩格式,它是一种开源的文件压缩软件,以其高压缩比著称。在实际使用dnSpy时,用户需要下载对应架构的压缩包进行解压安装,以确保软件能够正确运行在用户的操作系统上。dnSpy工具V6.1.8版本的发布,对于.NET程序员而言,无论是32位系统还是64位系统用户,都是一个提升工作效率的好工具。用户可以根据自己计算机的操作系统架构,选择合适的版本进行下载使用。而对于希望进行深度分析.NET程序的开发者来说,这个工具更是不可或缺的利器。

上一篇: [开发技巧] 对jar包进行再次修改
下一篇: [底层研究] JVM装载过程
heyday
博客等级 码龄24年 0粉丝 13原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值