可以使用java.lang.Process和java.lang.Runtime实现,下面展示两个例子,其它用法请查阅资料:
1、执行ping命令:
import java.io.BufferedReaderimport java.io.IOException
import java.io.InputStreamReader
public class ProcessTest {
public static void main(String[] args) {
BufferedReader br = null
try {
String cmd = "ping 127.0.0.1"
// 执行dos命令并获取输出结果
Process proc = Runtime.getRuntime().exec(cmd)
br = new BufferedReader(new InputStreamReader(proc.getInputStream(), "GBK"))
String line
while ((line = br.readLine()) != null) {
System.out.println(line)
}
proc.waitFor()
} catch (IOException e) {
e.printStackTrace()
} catch (InterruptedException e) {
e.printStackTrace()
} finally {
if (br != null) {
try {
br.close()
} catch (IOException e) {
e.printStackTrace()
}
}
}
}
}
2、打开浏览器并跳转到百度首页:
import java.io.IOExceptionpublic class ProcessTest {
public static void main(String[] args) {
try {
String exeFullPathName = "C:/Program Files/Internet Explorer/IEXPLORE.EXE"
String message = "www.baidu.com"
String[] cmd = {exeFullPathName, message}
Process proc = Runtime.getRuntime().exec(cmd)
} catch (IOException e) {
e.printStackTrace()
}
}
}
Java运行命令行并获取返回值,下面以简单的Java执行ping命令(ping 127.0.0.1 -t
)为例,代码如下:
Process p = Runtime.getRuntime().exec("ping 127.0.0.1 -t")Process p = Runtime.getRuntime().exec("javac")
InputStream is = p.getInputStream()
BufferedReader reader = new BufferedReader(new InputStreamReader(is))
String line
while((line = reader.readLine())!= null){
System.out.println(line)
}
p.waitFor()
is.close()
reader.close()
p.destroy()
}
#命令行运行java文件:1.打开(cd java文件所在目录)
2.配置:set path=C盘下jdk1.5.0_05/bin所在的目录 --你自己的jdk安装目录
set classpath=. --当前路径
注:若要导包时(如.jar包),就应 set classpath=.包的路径3.编译(dir java文件当前目录下):
javac 文件名.java --如:javac Test.java
4.运行(dir java文件当前目录下):
java 文件名 --则:java Test #若有包名的.java文件
1.打开(cd java文件所在目录)
2.配置:set path=C盘下jdk1.5.0_05/bin所在的目录 --你自己的jdk安装目录
set classpath=. --当前路径
3.编译(dir java文件当前目录下):
javac -d ./ 文件名.java --(有包时必须要有-d ./)
4.运行(dir java文件当前目录下):
java 包名.文件名