【问题标题】:Java run shell command mysql with sedJava 用 sed 运行 shell 命令 mysql
【发布时间】:2015-08-06 00:11:09
【问题描述】:

我有一个 shell 命令 (mysql),但在如何使用 getruntime 在 java 中运行它时遇到问题:

sql=$(mysql -u cactiuser -ppassword cacti -s -N -e "select name_cache, name from data_template_data where  data_source_path=\"<path_rra>/test.rrd\";" | sed 's/\t/,/g')

Java:

String command = "<sql above>";
Process p = Runtime.getRuntime().exec(command);
    p.waitFor();
    BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));

shell 命令相当复杂,因为它有 sed,我不知道如何正确隔离它们以在 getruntime 中运行。非常感谢您的帮助。

【问题讨论】:

    标签: java mysql shell


    【解决方案1】:

    您应该使用 jdbc 连接到 mysql。忘记为此调用一个 shell 脚本,既丑陋又非常低效。

    更多信息: http://dev.mysql.com/doc/connector-j/en/connector-j-usagenotes-connect-drivermanager.html

    获得数据后,您可以在 java 代码中编辑它,而不是 sed。

    【讨论】:

      猜你喜欢
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 2014-11-01
      • 2015-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多