如何在JAVA中运行Windows命令并以字符串形式返回结果文本
可能重复:如何在JAVA中运行Windows命令并以字符串形式返回结果文本,java,windows,Java,Windows,可能重复: 我正在尝试从JAVA控制台程序中运行cmd命令,例如: ver 然后将命令的输出返回到JAVA中的字符串中,例如输出: string result = "Windows NT 5.1" 看看java.lang.Runtime,或者更好 可能有助于您入门。您可以为此使用以下代码 import java.io.*; public class doscmd { public static void main(String args[])
我正在尝试从JAVA控制台程序中运行cmd命令,例如:
ver
然后将命令的输出返回到JAVA中的字符串中,例如输出:
string result = "Windows NT 5.1"
看看
java.lang.Runtime
,或者更好
可能有助于您入门。您可以为此使用以下代码
import java.io.*;
public class doscmd
{
public static void main(String args[])
{
try
{
Process p=Runtime.getRuntime().exec("cmd /c dir");
p.waitFor();
BufferedReader reader=new BufferedReader(
new InputStreamReader(p.getInputStream())
);
String line;
while((line = reader.readLine()) != null)
{
System.out.println(line);
}
}
catch(IOException e1) {e1.printStackTrace();}
catch(InterruptedException e2) {e2.printStackTrace();}
System.out.println("Done");
}
}
您可以执行以下操作:
String line;
Process p = Runtime.getRuntime().exec ("ver");
BufferedReader input =new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader error =new BufferedReader(new InputStreamReader(p.getErrorStream()));
System.out.println("OUTPUT");
while ((line = input.readLine()) != null)
System.out.println(line);
input.close();
System.out.println("ERROR");
while ((line = error.readLine()) != null)
System.out.println(line);
error.close();
在@RanRag的评论中,主要问题是Windows与Unix/Mac的对比
- WINDOWS:exec(“cmd/c版本”)李>
- UNIX风格:exec(“ver”)李>
Process p = Runtime.getRuntime().exec("cmd /C ver");
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()),8*1024);
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
// read the output from the command
String s = null;
System.out.println("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null)
System.out.println(s.replace("[","").replace("]",""));
Output=
MicrosoftWindowsVersion6.1.7600
您需要使用processp=Runtime.getRuntime().exec(“cmd/cver”)调用exec针对windows特定解决方案的代码>+1…在提出此问题之前,您应该搜索此代码。当我搜索stackoverflow时,我得到了以下结果。。。此链接将帮助您: