java执行命令行操作

  • 在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命令的时候加开始执行文件的参数。

你可能感兴趣的:(web开发)