如何在Java中执行其它程序
能够在Java中执行的外部程序,必须是一个实际存在的可执行文件,对于shell下的内嵌命令是不能直接执行的。采用Runtime的exec执行程序时,首先要使用Runtime的静态方法得到一个Runtime,然后调用Runtime的exec方 法。
第三种方法是通过第三方的脚本语言(比如TCL、Python)来分别执行A程序和B程序并监控两个程序的状态,并且可以把两个程序做成模块化来调用执行。
打开开始|程序|附件|命令提示符窗口。输入“盘符:”回车,切换到源程序所在磁盘。输入“CD 源程序所在文件夹”进入源程序文件夹。输入“javac 源程序文件名”编译,如果没有别的提示就是成功。
java通过exec条用cmd执行adb无效
外部命令是EXE COM这些文件,如果没有ADB.EXE或者ADB.COM,就无法执行。如果有这个文件,需要把它复制到%systemroot%\system32里面去,直接地址栏输入这个地址回车即可。
如果要在自已的手机上应该也能执行adb命令,应该直接跟守护进程(Daemon)通讯了。百度上可以搜到的方法并不满意。
你可以用那个方法 exec(String command, String[] args)也就是说,把参数放在一个数组里,然后调用。
Java技巧:使用Runtime.exec重定向本地程序调用
采用Runtime的exec执行程序时,首先要使用Runtime的静态方法得到一个Runtime,然后调用Runtime的exec方法。可以将要执行的外部程序和启动参数、环境变量、工作目录作为参数传递给exec方法,该方法执行后返回一个Process代表所执行的程序。
避免使用本地方法和本地代码,尽可能自己编写具有相应功能的Java类,改写该方法。
基本原理是,首先通过 Runtime.getRuntime() 返回与当前 Java 应用程序相关的运行时对象,然后调用run.exec(cmd) 另启一个进程来执行命令(cmd为要执行的命令)。
Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法。Runtime上其他大部分的方法都是实例方法,也就是说每次进行运行时调用时都要用到getRuntime方法。
java的Runtime类的exec方法权限问题
这种第一要看看是不是权限问题,比如win7等操作系统上可能你没有操作这个文件的权限;第二要看文件是不是被别的软件给锁住了,这种也删除不了。
这个要看你当前程序执行的用户是不是系统管理员权限,如为普通用户,是不可以的。
用这个有时就是会出现毛病。可能还得再加些参数。你用Desktop类。打开一个文件 Desktop d=Desktop.getDesktop();d.open(D:\\Games\\打砖块\\DXBallexe);这个方法肯定可以打开。
方法四:直接在CMD窗口中提升权限。打开“运行”对话框(按Windows+R快捷打开),输入“CMD”进入MSDOS界面。
Runtime.getRuntime().exec(command2).waitFor();注意:1 我为什么要使用 chmod 777命令呢?在有的机器上面,可能没有设置权限问题。这是你在linux下面执行shell脚本需要注意的问题。