jsp如何调用命令行

 时间:2024-10-22 04:27:59

jsp调用命令行的只需要在<%%>中编写使用Runtime类即可调用命令行

工具/原料

电脑

javaee运行环境

方法/步骤

1、一粑颇岔鲷、运行一个可执行程序执行一个.exe的文件,或通过已安装的软件打开一个特定格式的文件,如word斤舻浑趸、chm或mp3等等。1.在window下可以直接执行一个.exe文件,如执行我在F盘下的tomcat安装文件,将命令写为:Stringcmd="F:\\apache-tomcat-6.0.20.exe";2.打开一个word文档。如果系统已经安装了office应用程序,就可以通过调用word的可执行程序来打开一个word文档:Stringcmd="D:\\ProgramFiles\\MicrosoftOffice\\OFFICE11\\WINWORD.EXEF:\\test.doc";当然这样写有点麻烦,我们想打开一个word文档时只要双击就可以了,用不着去找WINWORD.EXE。要是打开每一种格式的文件都得去找它的可执行程序,那可累死了,我们可以通过下面的代码,打开任意一个已知格式的文件(只要安装的打开这种文件格式的软件),相当于用鼠标双击一个文件的图标:Stringcmd="cmd.exe/cstartF:\\test.doc";我用C写了一个进程操作的小例子,放在linux下编译出的可执行文件叫“fork_wait”,然后把我的java文件编译成TestRunTime.class后扔到linux上,在控制台执行javaTestRunTime命令,TestRunTime和fork_wait程序均运行成功。Stringcmd="./fork_wait";

2、执行一个有标准输出的系统命令通过调用进程的getInputStream()方法,可以获得执行命令的标准输出。在windows的cmd控制台窗口和linux控制台执行系统名利的格式是一样的,只是输入的命令不同而已。如要执行windows控制台中ping命令,可写为:Stringcmd="pingwww.baidu.com";执行linux的ls命令,可写为:Stringcmd="ls-l";如果要执行一个带参数的命令,可使用String数组形式,如:String[]cmd=newString[3];cmd[0]="/bin/sh";cmd[1]="-c";cmd[2]="ls-l./";

3、下面是我写的小例子:Ja箪滹埘麽va代码packagecom.why.RunTime;importjava.io.BufferedInputStrea罪焐芡拂m;importjava.io.BufferedReader;importjava.io.InputStreamReader;publicclassTestRunTime{publicstaticvoidmain(String[]args){//windows//Stringcmd="F:\\apache-tomcat-6.0.20.exe";//Stringcmd="D:\\ProgramFiles\\MicrosoftOffice\\OFFICE11\\WINWORD.EXEF:\\test.doc";//Stringcmd="cmd.exe/cstartF:\\test.doc";Stringcmd="pingwww.baidu.com";//linux//Stringcmd="./fork_wait";//Stringcmd="ls-l";//String[]cmd=newString[3];//cmd[0]="/bin/sh";//cmd[1]="-c";//cmd[2]="ls-l./";Runtimerun=Runtime.getRuntime();//返回与当前Java应用程序相关的运行时对象try{Processp=run.exec(cmd);//启动另一个进程来执行命令BufferedInputStreamin=newBufferedInputStream(p.getInputStream());BufferedReaderinBr=newBufferedReader(newInputStreamReader(in));StringlineStr;while((lineStr=inBr.readLine())!=null)//获得命令执行后在控制台的输出信息System.out.println(lineStr);//打印输出信息//检查命令是否执行失败。if(p.waitFor()!=0){if(p.exitValue()==1)//p.exitValue()==0表示正常结束,1:非正常结束System.err.println("命令执行失败!");}inBr.close();in.close();}catch(Exceptione){e.printStackTrace();}}}

myeclipse服务器与android studio怎么连接 AxureRP使用教程:[5]条件判断与值的传递 【Javaweb案例】整体实现产品购买的功能 myeclipse下的web-inf出现红叉解决办法 文件夹里的jsp如何使用jQuery
热门搜索
鱼类图片大全 绣眉图片 鬼片恐怖大电影大全 法国巴黎图片 白夜行电影