java 代码中调用cmd 命令执行 mysql 脚本结果 cmd 命令返回结果为1的问题:
Process process = Runtime.getRuntime().exec(cmd);int waitFor = process.waitFor();
上边waitFor值为1,而值为0才是执行正常,那我怎么才能知道这个执行结果是因为什么出错的呢?可以把出错信息打印出来就行了,process对象 有一个异常流,打印一下就好了:
FileInputStream errorStream = (FileInputStream)process.getErrorStream(); InputStreamReader isr = new InputStreamReader(errorStream,"gbk");//读取 System.out.println(isr.getEncoding()); BufferedReader bufr = new BufferedReader(isr);//缓冲 String line = null; while((line =bufr.readLine())!=null) { System.out.println(line); } isr.close();
结果发现打印的语句是:mysqldump 不是内部命令...
可以发现 执行结果不正确是因为 这个mysql的命令 没法使用造成的,去找这个原因就可以了。
时间: 2024-10-01 02:10:53