Java还原MySQL数据库时出现管道已结束

qq_42749922 2018-08-17 10:39:41
编码问题和备份出来后文件的乱码问题已经检查过了,还是出现管道已结束的情况。望各位大神可以给点建议或者解决问题的方法
public static void recover(String filepath,String ip,String database, String userName,String password) throws IOException{
File file = new File(filepath);
Runtime rt = Runtime.getRuntime();
try {
Process process = rt.exec("cmd /cmysql -u "+ userName +" -p"+ password +" --default-character-set=utf8 "+ database);
System.out.println("cmd /cmysql -u "+ userName +" -p"+ password +" --default-character-set=utf8 "+ database);
OutputStream os = process.getOutputStream();
String str = null;
String outstr = null;
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
while((str = br.readLine()) != null){
sb.append(str+"\r\n");
}
outstr = sb.toString();
System.out.println(outstr);
OutputStreamWriter osw = new OutputStreamWriter(os,"utf-8");
osw.write(outstr);
osw.flush();
os.close();
br.close();
osw.close();
System.out.println("还原完成");
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
java.io.IOException: 管道已结束。
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at demo.data.ShuJuKu.recover(ShuJuKu.java:92)
at demo.data.ShuJuKu.main(ShuJuKu.java:30)
...全文
211 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,628

社区成员

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

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