调用DOS命令这一功能有时是很需要的,如要在JSP中用ping命令测试与某一台机器的网络是否连通。
JDK1.4中的java.lang.Runtime类中提供了调用外部命令的方法,调用方法如下:
public static Runtime getRuntime() |
这个方法返回一个Runtime实例对象,再用这个对象的如下方法来执行命令:
public Process exec(String command) |
其中,参数command就是要执行的命令。这个方法返回执行命令的这个进程对象,根据这个进程对象,可行到执行命令的结果。
如下的命令可打开Windows的记事本工具,并在其中打开c:/test.txt文件:
Runtime.getRuntime().exec(“notepad c:\\test.txt”);
注意:如果路径中有空格则要用“ ” ”括起来,但“ “ ”需要作转义处理,即写成“ \” ”。 示例如下: Runtime.getRuntime().exec(“notepad \”c:\\Program Files\\test.txt\””); |
l 在JSP中调用ping命令
<%@ page contentType="text/html; charset=GB2312" %> <%@ page import="java.io.BufferedReader, java.io.InputStreamReader"%> <html> <head> <title>java中调用ping命令</title> </head> <body> <% String IPStr=new String("127.0.0.1"); try{ //执行ping命令 Process process=Runtime.getRuntime().exec("ping "+IPStr); //取得子进程的输出 BufferedReader reader= new BufferedReader(new InputStreamReader(process.getInputStream())); String message=new String(""); //读取子进程输出 while((message=reader.readLine())!=null){ out.print(message+"<br>"); }
}catch(Exception e){ e.printStackTrace(); } %> </body> </html> |