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());
}
}
}