我试图运行下面的命令:运行mysql命令从Java
C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql" -u root -padmin <C:\script.sql> C:\redir.txt
通过使用此Java代码:
Runtime.getRuntime().exec(command);
其中command是包含mysql命令字符串。如果我使用cmd命令,它可以很好地工作,但是如果我运行java行,它不会创建带有查询结果的redir.txt。我无法弄清楚它为什么不起作用(顺便说一下,它不会抛出任何异常或错误信息)。
exec()具有一些特殊属性,使得它很难直接使用。这是一篇非常有用的文章:http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html。不过,我也会发布你的代码。 –
为什么?它作为一项服务运行。它旨在作为服务运行。创建又一种启动方式到底是什么? – EJP