java中使用Runtime.getRuntime().exec调用mysqldump的问题

litex 2006-11-28 10:29:54
如题,程序代码如下,问题是在将mysqldump的绝对路径使用rt.exec("D:\\Program Files\\MySQL\\MySQL Server 4.1\\bin\\mysqldump --help")的时候没有问题,使用下面的方法调用的时候就出现“java.io.IOException: CreateProcess: mysqldump --help error=2”的异常,请问是什么原因呢?能用什么办法解决吗?
public class DBtest
{

public static void main(String[] args)
{
File test = new File("d:/test00.sql");
FileWriter fw = null;
try {
fw = new FileWriter(test);
} catch (IOException ex) {
System.out.println(ex.toString());
}

try {
String path = System.getProperty("java.library.path");
String path2 = path + ";D:\\Program Files\\MySQL\\MySQL Server 4.1\\bin;";
System.setProperty("java.library.path", path2 );
Runtime rt = Runtime.getRuntime();
Process child = rt.exec("mysqldump --help");
System.setProperty("java.library.path", path);

InputStream in = child.getInputStream();
InputStreamReader xx = new InputStreamReader(in, "latin1");
char[] chars = new char[1024];
int ibyte = 0;
while ((ibyte = xx.read(chars)) > 0) {
fw.write(chars);
}
fw.close();
} catch (Exception e) {
System.out.println(e.toString());
}

}
}
...全文
639 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
colin74 2006-11-30
  • 打赏
  • 举报
回复
可能是长路经问题,把";D:\\Program Files\\MySQL\\MySQL Server 4.1\\bin;"
改成";\"D:\\Program Files\\MySQL\\MySQL Server 4.1\\bin\";"试试看.
千里冰封820 2006-11-29
  • 打赏
  • 举报
回复
不能创建你所需要的进程

是不是你的参数没有设好

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧