Java执行命令行的问题

一岁穿耐克 发布于 2015/01/27 14:47
阅读 242
收藏 1

找了下网上的资料, 发现都是执行一段命令而已.

我是想基于一个命令行程序写一个GUI, 就拿mysql举例吧

mysql -u roo -p后会进入mysql的bash界面 等待用户继续输入, Java程序执行了mysql -u roo -p后, 如何才能继续在mysql的bash界面 执行命令?


看了些资料, 大概是通过process的 IO来控制, 但是我通过input打不出信息.

ProcessBuilder proc = new ProcessBuilder("mysql", "-u", "root", "-ppwd");

BufferedReader reader = new BufferedReader(new InputStreamReader(proc.start().getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
    System.out.println(line);
}

程序死住了,也没有打印东西,这要怎么解决啊?

研究了一下, 打不出信息是正常的,因为程序没有返回.



我执行了mysql -u roo -p, 要如何才能拿到mysql给的提示呢? 并且往mysql的bash里面写入数据?


加载中
0
Feng_Yu
Feng_Yu
see: http://stackoverflow.com/questions/9927432/how-to-execute-a-interactive-shell-script-using-java-runtime
0
jobell
jobell
http://www.oschina.net/p/commons-exec
返回顶部
顶部