import java.io.BufferedInputStream;import java.io.IOException;public class copy { scp -P 3737 -r /usr/local/tomcat7/webapps/ROOT/WEB-INF/page/jsp/ vlionosuser@192.168.8.22:/opt/tomcat_6/webapps/ROOT/WEB-INF/page/ /** * @param args */ public static void main(String[] args) { String name1 = "C:/WINDOWS/system32/winmine.exe"; String name2 = "C:/test.cmd";//我CMD里面的内容是 netstat -ano 其他的也可以 //String name3 = "scp -P 3737 -r /usr/local/tomcat7/webapps/ROOT/WEB-INF/page/jsp/ vlionosuser@192.168.8.22:/opt/tomcat_6/webapps/ROOT/WEB-INF/page/"; String name3="1.sh"; try { // System.out.println(execCMD(name1, 3)); // System.out.println(execCMD(name2, 2)); System.out.println(execCMD(name3, 3)); } catch (IOException e) { e.printStackTrace(); } } /** * * @param path 要执行的文件路径或命令 * @param type 执行类型 1 shell命令 2 .CMD文件 3 .EXE文件 * @return 返回的值 * @throws IOException */ public static String execCMD(String path, int type) throws IOException { final String COM_TITLE = "CMD /C "; if (type == 1) { path = COM_TITLE + path; } Process pro = Runtime.getRuntime().exec(path); BufferedInputStream br = new BufferedInputStream(pro.getInputStream()); BufferedInputStream br1 = new BufferedInputStream(pro.getErrorStream()); int ch; StringBuffer text = new StringBuffer("获得的信息是: \n"); while ((ch = br.read()) != -1) { text.append((char) ch); } StringBuffer text1 = new StringBuffer("获得的错误信息是: \n"); while ((ch = br1.read()) != -1) { text1.append((char) ch); } return text.length() > 9 ? text.toString() : text1.toString(); } }