现在我要在一个格式为utf8的csv文件里面追加数据,运用的代码如下: FileOutputStream fileOut = new FileOutputStream("c:\\test.csv",true);
BufferedWriter bw1 = new BufferedWriter(new OutputStreamWrite(fileOut,"utf-8"));bw1.write("要打印的内容1" + "\r\n");
bw1.write("要打印的内容2" + "\r\n");
bw1.close();
fileOut.close();原计划是每写入一行回车,以便后面的数据写在新的一行里面,但是有时写完一行后回车不成功,而是在回车的位置显示一个小方格,结果导致下面的一行写在这行的后面了而不是在新行写数据。麻烦帮我看看是什么原因,谢谢!

解决方案 »

  1.   

    bw1.write("要打印的内容1" + "\r\n");
    bw1.newLine();
    bw1.write("要打印的内容2" + "\r\n");
      

  2.   

    不是每打印一行数据都换不了行,如果用bw1.newLine的话就会多了一个空行出来。
      

  3.   

    你需要回车的地方不要加\r\n,用bw1.newLine();来实现不就好了
      

  4.   

    抛开打印功能不说,用字符流在转向字节流是一种非常不明智的选择,况且还用buffer装饰