1

DataIntegrationV8.jar の出力を JTextArea に出力する次のコードがあります。そのプログラムによってスローされた例外を同じ JTextArea に出力することは可能ですか?

protected Integer doInBackground() throws Exception {
        Process process;
        InputStream iStream;
        try {
            //run the DataIntegration.jar
            process = Runtime.getRuntime().exec("java -jar DataIntegrationV8.jar sample.xml");
            istream = process.getInputStream();
        } catch (IOException e) {
            throw new IOException("Error executing DataIntegrationV8.jar");
        }

        //get the output of the DataIntegration.jar and put it to the 
        //DataIntegrationStarter.jar form
        InputStreamReader isReader = new InputStreamReader(iStream);
        BufferedReader bReader = new BufferedReader(isReader);
        String line;

        while ((line = bReader.readLine()) != null) {
            jtaAbout.append(line + "\n");
        }
        Thread.sleep(1);
        return 42;
    }
4

2 に答える 2

2

デフォルトでは、例外スタックトレースは に表示されSystem.errます。ErrorStreamからへの出力を含めることができますJTextArea

BufferedReader error = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String errorLine = null;
while ((errorLine = error.readLine()) != null) {
    jtaAbout.append(errorLine + "\n");
}
于 2013-05-29T17:47:00.417 に答える
0

プログラムによって返されたエラーコードを確認できますが、それはゼロではありません。プログラムが終了したため、出力がJavaスタックトレースであることがわかります....

于 2013-05-29T17:42:48.173 に答える