Возможный дубликат:
Получить результат процесса
Выполнение команд DOS из Java
Я пытаюсь запустить команду cmd из консоли JAVA, например:
ver
а затем верните вывод команды в строку в JAVA, например. Выход:
string result = "Windows NT 5.1"
Возможный дубликат:
Получить результат процесса
Выполнение команд DOS из Java
Я пытаюсь запустить команду cmd из консоли JAVA, например:
ver
а затем верните вывод команды в строку в JAVA, например. Выход:
string result = "Windows NT 5.1"
Вы можете использовать следующий код для этого
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");
}
}
Вы можете использовать Runtime exec в java для выполнения команд dos из java-кода.
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("]",""));
Выход = Microsoft Windows Version 6.1.7600
Вы можете сделать что-то вроде:
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.
Посмотрите java.lang.Runtime
или, еще лучше, java.lang.Process