0

最初の投稿 - 言語の完全な初心者ですが、どこかから始めなければなりません。現時点で私の問題は次のとおりです

1: コマンド ライン ウィンドウを開き、特定のディレクトリに移動します。

2: SQL クエリを引数として、そこからサードパーティの .exe (LogParser.exe) を実行します。

Runtime.getRuntime().exec("cmd.exe"); について知っています。ただし、これはコマンド ウィンドウを表示するだけです。

しかし、2番目のステップ、つまりクエリを挿入するにはどうすればよいですか? SQL クエリを文字列として処理し、コマンド ウィンドウに渡すことはできますか?

たとえば、コマンド ウィンドウへの出力は次のようになります。

Logparser.exe 「アプリケーションから上位 5 つを選択」

多分これは非常に基本的なことですが、申し訳ありませんが、基本的なことは私が今いる場所でもあります

4

1 に答える 1

0

たぶん次のようなもの:

ProcessBuilder pb = new ProcessBuilder("c:\path\to\LogParser.exe", "select top 5 * from application");
Process p = pb.start();
InputStreamReader is = new InputStreamReader(p.getInputStream());
p.waitFor();
char c;
while ((c = is.read()) != -1) {
  System.out.print(c);
}
is.close();

絶対にコマンド プロンプトを使用する必要がある場合はp.getOutputStream()、文字列を他のプロセスの入力バッファー (STDIN) に送信するために使用できます。

(GroovyでYMMVで書かれた「ls」、「-l」を使用してUnixで上記のコードをテストしました。)

于 2013-02-12T17:15:14.763 に答える