1

我需要在 java 中读取一些错误消息,我尝试在 getErrorStream 中执行此操作,然后在 readLine 中执行此操作,但我得到了例外。

4

3 回答 3

2

TrueCrypt 不是您的 Java 程序,并且 Java 没有合理可行的方法来进入另一个程序的对话框以读取消息。

getErrorStream()如果 TrueCrypt 将文本输出到它的标准错误,它会起作用,但由于它有一个对话框来向用户显示它没有理由这样做。

如果 TrueCrypt 失败,它可能会返回非 0 退出状态,您可以通过使用来捕获它Runtime.getRuntime().exec("TrueCrypt.exe"),等待结果过程完成(使用Process.waitFor())然后检查您到达那里的退出状态。但是,您仍然需要有人(或某物)Ok为您按下按钮。

于 2009-12-07T21:05:46.507 回答
0

Truecrypt 的源代码是可用的,因此您可以将其修改为输出到 stdout/stderr。

于 2012-05-02T06:58:08.970 回答
0

你不能

该错误消息显示在不可读的操作系统的窗口管理器上。

您尝试从标准错误中读取失败,可能是因为该应用程序首先没有写入标准错误。

于 2009-12-07T21:05:44.230 回答