java 中调用window系统中的文件,或者执行命令(shell、.CMD、.EXE)并获取返回值(如果有的话)
2011-09-07 01:05
1151 查看
import java.io.BufferedInputStream;
import java.io.IOException;
public class Test {
/**
* @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 = "java -version";
try {
System.out.println(execCMD(name1, 3));
System.out.println(execCMD(name2, 2));
System.out.println(execCMD(name3, 1));
} 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();
}
}
import java.io.IOException;
public class Test {
/**
* @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 = "java -version";
try {
System.out.println(execCMD(name1, 3));
System.out.println(execCMD(name2, 2));
System.out.println(execCMD(name3, 1));
} 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();
}
}
相关文章推荐
- java 中调用window系统中的文件,或者执行命令(shell、.CMD、.EXE)并获取返回值
- java调用shell命令并获取执行结果
- java本地调用cmd,shell命令,远程调用Linux执行命令方法总结
- 在java调用exe,com可执行文件和bat,cmd批处理文件
- JAVA调用系统命令或可执行文件
- java调用shell命令并获取执行结果的示例
- C#调用cmd执行命令获取返回值
- 编程时如果只是调用其它程序打开文件不必引用程序dll,调用系统shell执行更方便
- java调用shell命令并获取执行结果
- Windows系统中Java调用cmd命令及执行exe程序的方法
- java代码中执行shell或调用系统命令
- java调用exe文件执行系统程序
- java调用shell命令并获取执行结果
- java中的IO操作与java调用CMD执行exe文件的问题
- java调用shell命令并获取执行结果
- java调用shell命令并获取执行结果
- JAVA 和 C# 调用外部.exe文件,传值并等等exe完成,获取返回值
- Java调用linux系统shell执行命令
- java调用shell命令并获取执行结果
- Java:调用CMD命令打开文件或系统程序