昨天下午因为要写一个备份MySQL数据库的批处理文件,使用了PrintWriter对象,写完了之后用EditPlus打开看到和我手写的批处理文件完全一样,可是Runtime.getRuntime().exec(file);执行的时候怎么也看不到结果,试了n次也是白搭,以为路径的问题,改了半天,也是不行,最后都烦死了,直接双击该文件执行,看出来了,dos命令竟然没全出现在控制台上,出现的也是很乱,肯定是文件出问题了,用记事本打开,一看果真是,原因出在我用/n来输出换行,上网搜了一下,找到了用
strBuff.append(System.getProperty("line.separator"));//换行
代替:
strBuff.append("/n"));//换行
ok!,可以了,但是还没出现备份文件,继续Debug,原来有一个“/”没有用“//”来进行转义,改...
ok.
补:
StringBuffer strBuff = new StringBuffer();
...
PrintWriter pw = new PrintWriter(new FileOutputStream(file));
pw.println(strBuff.toString());
pw.flush();
pw.close();