可以使用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()
}
cd路径,进入一个文件夹
例:cd c:\\window\user如果是一个.java类型的文件,要先编译它才能够运行,编译.java文件需要安装jdk。
javac
文件名.java,编译一个.java文件
例:javac hello.javajava
文件名,运行一个编译好的java文件。.java文件在编译完成之后后生成一个.class文件,在执行java命令的时候只需要输入文件名,不需要输入.class这个后缀名。
例:java hello
假设编译了一个hello.java文件,会在当前路径下生成一个hello.class文件,执行上面的命令就可以运行了