如何使用Java

时间:2018-04-06 18:37:27

标签: java mysql

我需要使用Java导入我的数据库。我使用的是Wamp和SQL版本5.7.19。当用户单击导出按钮并将.sql文件保存到用户选择的路径时,我试图获取数据库的备份。有人可以告诉我这是什么问题

   JFileChooser fc = new JFileChooser();
   fc.showOpenDialog(this);
   String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());

    try {
        File f = fc.getSelectedFile();
        path = f.getAbsolutePath();
        path = path.replace('\\', '/');
        path = path+"_"+date+ ".sql";
        jTextField2.setText(path);

    } catch (Exception e) {
        e.printStackTrace();
    }
    Process p = null;
    try {

        Runtime runtime = Runtime.getRuntime();
        p = runtime.exec("c:/wamp64/bin/mysql/mysql5.7.19/bin/mysqldump -u root - proot --add-drop-database -B dbName -r "
                    + jTextField2.getText() + path + ".sql");

        int processComplete = p.waitFor();

        if (processComplete == 0) {
            JOptionPane.showMessageDialog(this, "Backup created successfully");
        } else {
            JOptionPane.showMessageDialog(this, "Could not create the backup   !!!");
        }

    } catch (Exception e) {
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:0)

我还没有测试过,但我认为你的问题就在这里:

                + jTextField2.getText() + path + ".sql");

在我阅读代码时,文本字段包含路径,以及path变量,因此您可以在命令字符串中获取两次。您还有".sql" 三次次,因为您已将其添加到path,然后再将其填入文本字段。我建议只是:

                + path);