讲述process:http://lavasoft.blog.51cto.com/62575/15599
From: http://java.chinaitlab.com/JDK/27511.html
这个例子使用了J2SE5.0的ProcessBuilder类执行外部的程序,相对于 Runtime.exec ,它更方便,可以设置环境变量等。这里使用它在windows下读取物理网卡的地址 package com.kuaff.jdk5package; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; public class ProcessBuilderShow { public static List getPhysicalAddress() { Process p = null; //物理网卡列表 List address = new ArrayList(); try { //执行ipconfig /all命令 p = new ProcessBuilder("ipconfig", "/all").start(); } catch (IOException e) { return address; } byte[] b = new byte[1024]; StringBuffer sb = new StringBuffer(); //读取进程输出值 InputStream in = p.getInputStream(); try { while (in.read(b)>0) { sb.append(new String(b)); } } catch (IOException e1) { } finally { try { in.close(); } catch (IOException e2) { } } //以下分析输出值,得到物理网卡 String rtValue = sb.substring(0); int i = rtValue.indexOf("Physical Address. . . . . . . . . :"); while(i>0) { rtValue = rtValue.substring(i + "Physical Address. . . . . . . . . :".length()); address.add(rtValue.substring(0,18)); i = rtValue.indexOf("Physical Address. . . . . . . . . :"); } return address; } public static void main(String[] args) { List address = ProcessBuilderShow.getPhysicalAddress(); for(String add:address) { System.out.printf("物理网卡地址:%s%n", add); } } }
/**
* Add one sentence class summary here.
* Add class description here.
*
* @author lxx
* @version 1.0, 2004-11-16
*/
public class TestCmd {
public TestCmd(){}
/* public void main(String args[]){
try {
Process process = Runtime.getRuntime().exec("cmd.exe /c start http://www.csdn.net"); //登录网站
Process process = Runtime.getRuntime().exec("cmd.exe /c start ping 10.144.98.100"); //调用Ping命令
}catch (Exception e)
{
e.printStackTrace();
}
}
} */
//在项目下建立一个名为hello的文件夹
public static void main(String[] args) {
System.out.println(System.getProperty("user.dir"));
createFolder("hello");
}
private static void createFolder(String folderName) {
String temp = System.getProperty("user.dir") + java.io.File.separator+ folderName;
java.io.File f = new java.io.File(temp);
f.mkdirs();
}
}
在Java程序中获取当前运行程序的路径
import java.io.*;
public class Test {
public static void main(String[] args) {
File directory = new File(".");
try {
File newPath = new File(directory.getCanonicalPath()+"NewFolder");
newPath.mkdir();
}catch(Exception exp)
{
exp.printStackTrace();
}
}
}
//File directory = new File(".");
//directory.getCanonicalPath();取得当前路径
在Jsp页面中调用Ping命令---PingIP.jsp
<%@ page language="java" contentType="text/html; charset=gb2312" import="java.io.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ping IP测试页面</title>
</head>
<body>
<div align="center">
<h2>Ping IP测试页面</h2>
</div>
<%
Runtime runtime = Runtime.getRuntime();
Process process =null;
String line=null;
InputStream is =null;
InputStreamReader isr=null;
BufferedReader br =null;
String ip="www.sina.com.cn"; //待Ping的地址
try
{
process =runtime.exec("ping "+ip);
is = process.getInputStream();
isr=new InputStreamReader(is);
br =new BufferedReader(isr);
out.println("<pre>");
while( (line = br.readLine()) != null )
{
out.println(line);
out.flush();
}
out.println("</pre>");
is.close();
isr.close();
br.close();
}
catch(IOException e )
{
out.println(e);
runtime.exit(1);
}
%>
</body>
</html>