-1

これまでのところ、この行は完全に機能しており、コンピューターで calc.exe を実行しています。

Runtime.getRuntime().exec("calc.exe");

しかし、Web サイトのリンクからファイルをダウンロードして実行するにはどうすればよいでしょうか? 例http://website.com/calc.exe

Web でこのコードを見つけましたが、機能しません。

Runtime.getRuntime().exec("bitsadmin /transfer myjob /download /priority high http://website.com/calc.exe c:\\calc.exe &start calc.exe");
4

2 に答える 2

0

URLURLConnectionを使用し、ファイルをダウンロードして、どこかに保存し(現在の作業ディレクトリ、または一時ディレクトリなど)、を使用して実行しRuntime.getRuntime().exec()ます。

于 2012-08-29T01:02:51.413 に答える
0

この回答を出発点として使用すると、次のことができます:(これはHttpClientを使用します)

public static void main(String... args) throws IOException {
    System.out.println("Connecting...");
    HttpClient client = new DefaultHttpClient();
    HttpGet get = new HttpGet("http://website.com/calc.exe");
    HttpResponse response = client.execute(get);

    InputStream input = null;
    OutputStream output = null;
    byte[] buffer = new byte[1024];

    try {
        System.out.println("Downloading file...");
        input = response.getEntity().getContent();
        output = new FileOutputStream("c:\\calc.exe");
        for (int length; (length = input.read(buffer)) > 0;) {
            output.write(buffer, 0, length);
        }
        System.out.println("File successfully downloaded!");
        Runtime.getRuntime().exec("c:\\calc.exe");

    } finally {
        if (output != null) try { output.close(); } catch (IOException logOrIgnore) {}
        if (input != null) try { input.close(); } catch (IOException logOrIgnore) {}
    }
}
于 2012-08-29T01:09:51.213 に答える