-1

javaからlinuxMVコマンドの使い方を知りたいのですが。さまざまなコードを試しましたが、うまくいきませんでした。Linuxオペレーティングシステムのあるディレクトリから別のディレクトリにJavaからファイルを移動する方法を教えてください。私の質問は、Javaでファイルを移動する方法ではなく、JavaからlinuxMVコマンドを使用する方法でした。

4

3 に答える 3

2

* nixシステムでJavaアプリを実行していて、アプリにmvコマンドを実行する権限があると想定している場合は、次のコードを試してください。

String[] shCommand = {"/bin/sh", "-c", "mv somefile newfile"}; 

    // creates a process to run the command in
    Runtime rt = Runtime.getRuntime();
    Process prcs = null;
    try
    {
        // run the command
        prcs = rt.exec(shCommand);
    }
    catch (Exception e)
    {
        console.err("Execute Command Error:");
        e.printStackTrace();
    }

Javaアプリが実行されている環境(この場合は* nix)とインターフェースするためのランタイムと、環境内でプロセスを実行するためのプロセスを作成する必要があります。

編集:私は通常、コマンドの実行が終了するのをアプリが待機するか、出口コードを取得するために使用するため、プロセス部分は必要ない場合があります。したがって、これらが必要ない場合は、プロセス部分を省略できます。

于 2013-02-07T05:51:32.467 に答える
0

System.getRuntime().exec("bash mv ....");

実際のコマンドに置き換えて実行します

于 2013-02-07T05:47:08.623 に答える
0

これはうまくいくでしょう:

Runtime runtime = Runtime.getRuntime();
String[] runCommand = new String[3];
runCommand[0] = "sh";
runCommand[1] = "-c";
runCommand[2] = "mv a.txt b.txt";
Process process = runtime.exec(runCommand);
process.waitFor();
于 2013-02-07T06:15:59.080 に答える