Ошибка чтения с getErrorStream завершается с исключением - PullRequest
1 голос
/ 07 декабря 2009

Мне нужно прочитать сообщение об ошибке в Java, я попытался сделать это в getErrorStream, а затем readLine, но я получил исключение.

Ответы [ 3 ]

2 голосов
/ 08 декабря 2009

TrueCrypt не является вашей Java-программой, и у Java нет разумно работоспособного способа войти в диалог другой программы, чтобы прочитать сообщение.

getErrorStream() будет работать, если TrueCrypt выводит текст со своей стандартной ошибкой, но, поскольку у него есть диалоговое окно, показывающее пользователю, у него мало причин для этого.

Возможно, что TrueCrypt вернет состояние выхода, отличное от 0, если это не удастся, и вы можете отловить его, используя Runtime.getRuntime().exec("TrueCrypt.exe"), ожидая завершения процесса (используя Process.waitFor()) и затем проверяя состояние выхода, которое вы получите. там. Однако вам все еще нужен кто-то (или что-то), чтобы нажать кнопку Ok .

0 голосов
/ 02 мая 2012

Исходный код Truecrypt доступен, так что вы можете изменить его для вывода в stdout / stderr.

0 голосов
/ 08 декабря 2009

Вы не можете

Это сообщение об ошибке отображается в диспетчере окон операционной системы, который не читается.

Ваша попытка чтения из стандартной ошибки не удалась, возможно, из-за того, что приложение в первую очередь не пишет в стандартную ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...