-1

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

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();
    }

您需要创建一个 Runtime 以与您的 Java 应用程序正在运行的环境(在本例中为 *nix)和 Process 以在该环境中运行一个进程进行交互

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

于 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 回答