0

わかりましたので、しばらく調べてみましたが、プログラムの何が問題なのかわかりません。cmd.exe のようなプログラムを作成しようとしています。1 つのコマンドは、C:/Windows/System32 にある msconfig.exe を起動することになっています。しかし、それは私に java.io.IOException を与えます:

java.io.IOException: Cannot run program "C:/Windows/System32/msconfig.exe": CreateProcess error=2, The system cannot find the file specified

これが私のコードです:

    public static void msconfig() {
    try {
        Runtime rt = Runtime.getRuntime();
        Process process = rt.exec("C:/Windows/System32/msconfig.exe");
        InputStream in = process.getInputStream();
        OutputStream out = process.getOutputStream();
        InputStream err = process.getErrorStream();
    } catch (IOException e) {
        Console.printToConsole("Could not launch msconfig.exe");
        e.printStackTrace();
    } finally {
        Console.printToConsole("Successfuly launched msconfig.exe");
    }
}

編集: だから、アプリケーションを Eclipse でエクスポートしたところ、正常に動作するようになりました! 私を助けようとしてくれた皆さん、ありがとう:)

4

2 に答える 2

3

Windows コンピューターのパスは、バックスラッシュを区切り記号として使用します。使用する:

Process process = rt.exec("C:\\Windows\\System32\\msconfig.exe");

完全を期すために、バックスラッシュはエスケープ文字であり、それ自体をエスケープする必要があるため、二重にする必要があります。

于 2012-05-03T16:11:21.787 に答える
1

「間違った」バックスラッシュを使用しています。Windows パスは \ で動作します

パス c:\windows\system32\msconfig.exe を試してください

于 2012-05-03T16:10:54.100 に答える