いくつかの引数を使用して exe ファイルを呼び出し、出力を処理する Java アプリケーションを作成しようとしています。いくつかのバリエーションと ProcessBuilder クラスで Runtime.getRuntime().exec() を試しましたが、何も機能しませんでした。パス環境変数が正しいにもかかわらず、ファイルが見つからないと言われました。
アイデアから、私は次のことを試しました:
File f = new File("C:\\Windows\\system32\\query.exe");
System.out.println(f.exists());
それは言っfalse
た。
パスに何か問題があるのではないかと思い(バックスラッシュ?大文字?)、次のことを試しました:
FileChooser chooser = new JFileChooser("C:\\Windows\\System32");
chooser.setFileHidingEnabled(false);
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();
System.out.println(f.exists());
ファイルはFileChooser に表示されません(FileChooser に手動で入力すると、結果はfalse
再び表示されます)。しかし、私は再確認しました、それはそこにあります。現在、エクスプローラー ウィンドウが開いています。cmd.exe 内から起動できます。where query
印刷しC:\\Windows\\System32\\query.exe
ます。
アクセス権に関係している可能性があると思いましたが、クエリ ファイルのセキュリティ設定を表示されている他の設定と比較しました。それらは同じです。管理者として Eclipse を実行しましたが、結果は同じでした。ここで何が起こっているのですか?