public void In() throws IOException{
     String filepath = "c:\\qichebeifen.sql"; // 备份的路径地址  
       //新建数据库test1
       String stmt1 = "mysqladmin -u root -proot create test1"; 
       String stmt2 = "mysql -u root -proot test1 < " + filepath; 
       String[] cmd = { "cmd", "/c", stmt2 }; 
       try { 
       Runtime.getRuntime().exec(stmt1); 
       Runtime.getRuntime().exec(cmd); 
       System.out.println("数据已从 " + filepath + " 导入到数据库中"); 
       } catch (IOException e) { 
       e.printStackTrace(); 
       }  
     } ===========================================================================================================
提示的错误信息    本人初学者  看不出哪里出错   jdbc:mysql://localhost:3306/qiche?user=root&password=root&useUnicode=true&characterEncoding=UTF-8
java.io.IOException: Cannot run program "mysqladmin": CreateProcess error=2, ?????????
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:431)
at java.lang.Runtime.exec(Runtime.java:328)
at com.zby.car.beifen.Mysql.In(Mysql.java:36)
at com.zby.car.beifen.bfhy.doPost(bfhy.java:46)
at com.zby.car.beifen.bfhy.doGet(bfhy.java:16)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.IOException: CreateProcess error=2, ?????????
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 20 more
jdbc:mysql://localhost:3306/qiche?user=root&password=root&useUnicode=true&characterEncoding=UTF-8

解决方案 »

  1.   

    建议去相关板块问
    mysql问题。
      

  2.   

    Cannot run program "mysqladmin": CreateProcess error=2, mysqladmin所在的mysql/bin在%PATH%里头吗?
      

  3.   

          String stmt1 = "c:\\myfoler\\mysql\\bin\\mysqladmin -u root -proot create test1";  
          String stmt2 = "c:\\myfoler\\mysql\\bin\\mysql -u root -proot test1 < " + filepath;  加上你自己的目录名。
      

  4.   

      谢谢各位   不过按照下面的方法也只能是  
    ===============================================================
    String stmt1 = "c:\\myfoler\\mysql\\bin\\mysqladmin -u root -proot create test1";   
      String stmt2 = "c:\\myfoler\\mysql\\bin\\mysql -u root -proot test1 < " + filepath;  
    ============================================================
    也只能是建了数据库text1   但是数据还是无法导入数据啊   ?   怎么办  
      

  5.   

    Runtime.getRuntime().exec之后,需要wait的。
    起用新进程,也得等到输出结束以后,再调用另一个进程。
    可以找找这方面的例子。有很多。截获输出流,等待进程完全结束。