java中可以通过Runtime来执行系统命令,大致操作如下:
Runtime rt = Runtime.getRuntime();
Process process = rt.exec("命令字符串");
//获取命令的输出
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
如果命令有错,把上述的process.getInputStream()替换成process.getErrorStream(),可以有效的获取操作系统给出的错误提示,帮我们分析命令出错的原因。
在非web项目中需要获取项目在硬盘上的绝对路径,可以使用System.getProperty(“user.dir”)来获取。需要说明的事,这个值是运行java程序的当前目录,例如在D:\test下执行
java -classpath D:\workspace3.6\prj\target\mytest.jar;%classpath% com.demo.Test
这时得到的值是 D:\test。
另外System.getProperty()参数大全如下:
java.version Java Runtime Environment version
java.vendor Java Runtime Environment vendor
java.vendor.url Java vendor URL
java.home Java installation directory
java.vm.specification.version Java Virtual Machine specification version
java.vm.specification.vendor Java Virtual Machine specification vendor
java.vm.specification.name Java Virtual Machine specification name
java.vm.version Java Virtual Machine implementation version
java.vm.vendor Java Virtual Machine implementation vendor
java.vm.name Java Virtual Machine implementation name
java.specification.version Java Runtime Environment specification version
java.specification.vendor Java Runtime Environment specification vendor
java.specification.name Java Runtime Environment specification name
java.class.version Java class format version number
java.class.path Java class path
java.library.path List of paths to search when loading libraries
java.io.tmpdir Default temp file path
java.compiler Name of JIT compiler to use
java.ext.dirs Path of extension directory or directories
os.name Operating system name
os.arch Operating system architecture
os.version Operating system version
file.separator File separator ("/" on UNIX)
path.separator Path separator (":" on UNIX)
line.separator Line separator ("\n" on UNIX)
user.name User's account name
user.home User's home directory
user.dir User's current working directory
本文参考了 http://yueguangyuan.iteye.com/blog/71940