为什么这不是在指定位置创建备份文件?

时间:2015-08-29 05:16:45

标签: java mysql

执行此代码时,不会创建重定向中指定的文件。为什么不呢?

public class MyDdlSql {
    public static void main(String[] args) {
        try {
            Runtime.getRuntime().exec("mysqldump -uroot -psuri biztime >D:data.sql");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

1 个答案:

答案 0 :(得分:1)

看这里:

Runtime's exec() method is not redirecting the output

重定向是shell的一项功能。所以你不能使用它。相反,你应该使用ProcessBuilder。

ProcessBuilder builder = new ProcessBuilder("mysqldump", "-uroot", "-psuri", "biztime");
builder.redirectOutput(new File("D:\\data.sql"));
builder.redirectError(new File("error.log"));
Process p = builder.start();