- 在java开发时,有时候会需要执行一些dos命令,下面是java执行命令行操作的代码
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
public class CommandExecute {
public static void main(String[] args) {
CommandExecute obj = new CommandExecute();
String command = "ping www.baidu.com";
String output = obj.executeCommand(command, new File("F:/"));
System.out.println(output);
}
/*
* 执行dos命令的方法
* @param command 需要执行的dos命令
* @param file 指定开始执行的文件目录
*
* @return true 转换成功,false 转换失败
*/
public static String executeCommand(String command, File file) {
StringBuffer output = new StringBuffer();
Process p;
InputStreamReader inputStreamReader = null;
BufferedReader reader = null;
try {
p = Runtime.getRuntime().exec(command, null, file);
p.waitFor();
inputStreamReader = new InputStreamReader(p.getInputStream(), "GBK");
reader = new BufferedReader(inputStreamReader);
String line = "";
while ((line = reader.readLine()) != null) {
output.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(reader);
IOUtils.closeQuietly(inputStreamReader);
}
System.out.println(output.toString());
return output.toString();
}
}
- 有时会需要在特定的文件夹中执行命令,例如安装插件有没有配置变量,会需要在执行dos命令的时候加开始执行文件的参数。