import java.io.*;
public class ColorTest {
public static void main(String [] args){
try{
//Process p = Runtime.getRuntime().exec("cmd /c color 0a");
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readline()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Я не понимаю, почему команда не выполняется. Прокомментированная строка - это та, с которой мне нужна помощь.
cmd /c
повлияет на командное окно, если таковое имеется, в котором запущено приложение. Что произойдет, если вы воспользуетесь другой командой, обеспечивающей вывод? Что произойдет, если выcmd /k
? - person Andy Thomas   schedule 05.08.2015exec("cmd ...)
наexec("ping google.com")
, он будет работать нормально. - person carpenter   schedule 05.08.2015start
для создания нового окна. Для банального примера -start cmd /k color 0a
. - person Andy Thomas   schedule 05.08.2015cmd /k start color 0a
. - person Andy Thomas   schedule 05.08.2015color
, вызываемой из Java. См. Также ответы на этот аналогичный вопрос для сред Windows - stackoverflow.com/questions/1448858/. Обратите внимание, что некоторые ответы не относятся к командной консоли Windows. - person Andy Thomas   schedule 05.08.2015exec
, и используйтеProcessBuilder
для создания процесса. Кроме того, разбейтеString command
наString[] commands
, чтобы сохранить пробелы в путях и т. Д. - person Andrew Thompson   schedule 06.08.2015