私は、Win32 APIを使ってjavaのバージョンを検出するコードを書いています。例えば。コマンドライン "java -version"は結果をstdOutまたはstdErrに送信しますか?
基本的に、私はこれが疑似クライアントコードであるMSDN Creating a Child Process with Redirected Input and Output https://msdn.microsoft.com/en-us/library/ms682499%28VS.85%29.aspx
string GetJavaVersion(string sJavaExePath) {
}
を以下のよ:
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)
:
ASSERT(GetJavaVersion("C:\Program Files (x86)\Java\jdk1.7.0_17\bin\java.exe") == "1.7.0_25");
私はその結果を得ることができますただし、結果は返されますstdErrから、私はstdOutから戻ってくるはずです。
stdErrから文字列を受け取るのは意味がありますか?
なぜですか?それはどこにstdoutに行くと言うのですか?あなたの期待の基礎は何ですか? – EJP
私はstdoutまたはstderrをJavaで使用する変換についてはわかりません。私の根拠はランニング中です。エラーは起こっていないようですので、それを標準出力に行くことは非常に直感的です。 – milesma