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

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

最佳答案

看这里:

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

关于java - 为什么不在指定位置创建备份文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32282953/

相关文章:

java - 用于向大量客户端实时分发小消息的 Netty 选项?

MySQL,通过连接表与 in 子句连接

java - 我想在同一个 HTML 页面中显示 servlet 的结果。这可能吗?

java - 添加 Firebase Performance 后无法构建项目 - Android

java - fork JUNIT 执行

mysql - 是否可以在 IN 子句或任何其他可能的方式中传递两列

mysql - 将不同的组分组为相同并计数?

java - 字符串到 joda LocalDate,格式为 "dd-MMM-yy"

mysql - Mysql Gem 中的 Ruby 错误

java - 如何在jtree中显示数据