Linux MV命令来自Java

时间:2013-02-07 05:41:40

标签: java linux

我想知道如何从java使用linux MV命令。我尝试了各种代码,但它对我没用。你可以告诉我如何将文件从一个目录移动到java操作系统中的另一个目录。我的问题是如何使用java中的linux MV命令而不是如何在java中移动文件。

3 个答案:

答案 0 :(得分:1)

如果您在* 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)和Process以在环境中运行进程进行交互

编辑:您可能不需要Process部分,因为我通常使用它让我的应用程序等待命令完成执行或获取exitcode,所以如果您不需要那些,您可以省略Process部分

答案 1 :(得分:0)

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

替换为您的实际命令并执行

答案 2 :(得分: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();