- PR -

テキストエリアへのエラー文の出力

投稿者投稿内容
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2004-11-10 01:22
引用:

未記入さんの書き込み (2004-11-09 20:16) より:
System#setErr(PrintStream err) とか言ってる人達は何か勘違いしていませんか?
自プロセスの標準エラー出力を切り替えても解決しないので注意 > 元質問者




javacであれば外部プロセスじゃなくて自プロセス内で呼んだほうが
効率が良いので、私はこの方法を使っています。

勘違いしていませんかのような意見に惑わされないように > 元質問者
takamaro
大ベテラン
会議室デビュー日: 2004/10/12
投稿数: 100
投稿日時: 2004-11-10 07:33
「勘違い」論議に加わる気はありませんが、Kissingerさんのレスに有る

引用: --------------------------------------------------------------------------

1. テキストエリアに出力する PrintStreamを実装する。
2. System.setErr(), System.setOut()で出力先をリダイレクトする。

--------------------------------------------------------------------------------

のみではjava.lang.Runtim#exec()を使う事を前提として質問している人には
真意を理解することは不可能ではないかと思います。
恐らくは tools.jar パッケージを用いたコンパイルを指しているものと想像しますが、
SDKに含まれているとはいえ説明無しで提示し得る代物とは思えないのですがね。
それと、 com.sun.tools.javac.Main#compile() のメソッドには第2引数として
java.io.PrintWriter を受けるものがありますから、java.lang.System#setErr()
を用いての「標準エラー出力切り替え」は適切な手段とはいえない気がしますね。
それをしてしまうと、コンパイルエラー以外の実行時エラー等混在してしまうので
はないでしょうか。
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2004-11-10 09:38
引用:

takamaroさんの書き込み (2004-11-10 07:33) より:

恐らくは tools.jar パッケージを用いたコンパイルを指しているものと想像しますが、
SDKに含まれているとはいえ説明無しで提示し得る代物とは思えないのですがね。
それと、 com.sun.tools.javac.Main#compile() のメソッドには第2引数として
java.io.PrintWriter を受けるものがありますから、java.lang.System#setErr()
を用いての「標準エラー出力切り替え」は適切な手段とはいえない気がしますね。


takamaroさんのご指摘の通り、不十分で不適切な説明でした。
第2引数の指定は忘れてましたが、これは使えると思います。
ノリ
常連さん
会議室デビュー日: 2004/09/24
投稿数: 32
投稿日時: 2004-11-10 21:00
皆さんいろいろな説明ありがとうございます。
process.getErrorStream()にし表示をsetText()からtextArea.append()にしたらエラー文が教示できるようになりました。

スキルアップ/キャリアアップ(JOB@IT)