- PR -

java.exeの戻り値に 文字列を使うことはできませんか?

1
投稿者投稿内容
ボブ
常連さん
会議室デビュー日: 2007/10/03
投稿数: 44
投稿日時: 2008-01-21 17:08
環境:JDK1.5.0_12

あるメインクラスをBatから起動させ、その結果をBatに渡したいと思っています。
System.exit()を用いれば、int型の戻り値は指定できると思いますが、
文字列を戻す方法はないでしょうか?

Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2008-01-21 17:31
通常、int型が戻れば呼び出し元で十分な制御ができると思うのですが、目的は何ですか?

メインクラスで標準出力に文字列を書き出して、batでは次のように受けっとったりできますね。
for /F %e in ( 'java -version' ) do echo %e
ボブ
常連さん
会議室デビュー日: 2007/10/03
投稿数: 44
投稿日時: 2008-01-21 18:18
回答ありがとうございます。


目的としては、いろいろと事情があり
以下のような構成にせざるを得ない状況にあります。

アプリ(java1.4)からBat経由でJava(1.5)を起動する。
java1.5の方では検証をさせるプログラムがあり、
細かいエラー情報をJava1.4の方へ返したい。

*ちなみにbatを経由しなくても良い

batの知識不足で分からないのですが
以下のようなことはできますでしょうか?

java jdk1.5で作成したクラス
for /F %e in ( 'java -version' ) do set %returnString% = %e

return %returnString% //ここでJava1.4へ java1.5の出力した文字列を返したい
ボブ
常連さん
会議室デビュー日: 2007/10/03
投稿数: 44
投稿日時: 2008-01-21 18:32
間違えました。

for /F %e in ( 'java jdk1.5で作成したクラス') do set %returnString% = %e
return %returnString% //ここでJava1.4へ java1.5の出力した文字列を返したい

でした。
ちなみに以下もうまく動きません。
for /F %e in ( 'java jdk1.5で作成したクラス') do echo %e
権兵衛
ベテラン
会議室デビュー日: 2002/09/24
投稿数: 50
投稿日時: 2008-01-21 23:05
素直に中間ファイルに吐くなり、標準出力に出して標準入力にパイプで渡すなりすればいいと思うんだが
1

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