来自mysql命令的双引号逗号导致java字符串出现问题

时间:2017-07-05 08:58:27

标签: java mysql

我使用以下命令从MySQL数据库中获取报告。它在MySQL控制台中运行良好,但是当我尝试在我的Java代码中使用它作为字符串时,它会开始抛出错误。

mysql -u root -ppass -e "SELECT * from CEM_LEGACY_INV" DBNAME | sed 's/\t/","/g;s/^/"/;s/$/"/' > /home/shahed/Desktop/filename.csv

我想使用一个在其中定义查询的字符串变量,而不是这里提到的查询。

1 个答案:

答案 0 :(得分:0)

你需要转义双引号(")和反斜杠(\) - 在java中,你可以使用反斜杠(\)转义这个字符。

您可以尝试以下内容 -

String command = "mysql -u root -ppass -e \"SELECT * from CEM_LEGACY_INV\" DBNAME | sed 's/\\t/\",\"/g;s/^/\"/;s/$/\"/' ";