请问JAVA中哪个类可以实现按行追加功能.下面的代码有点问题,程序运行完,发现写在CCLoadStr.txt文件中的数据只有数组中的最后一行,好像后面的数据就把前面的覆盖了.
String output ="";
String[] src ={"994|123|17|0|10|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|6|1|4|1|0|0|0|0|0|7|1|4|1|0|0|0|0|0|0|0|0|0|0|0|0|0|582|0|0|0|0|0|0|0|0|0|0|0|0|0|31|257|19|257|0|0|0|0|0|7|0|0|0|0|0|0|0|0|0|0|0|",
"999|365|22|0|20|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|12|1|9|1|0|0|0|0|0|10|1|6|1|0|0|0|0|0|0|0|0|0|0|0|0|0|115|0|0|0|0|0|0|0|0|0|0|0|0|0|10|257|5|257|0|0|0|0|0|4|2|2|0|0|0|0|0|0|0|0|0"};
for(int i=0;i<src.length;i++){
System.out.println(src[i]);
BufferedWriter br =null;
try{
 br=new BufferedWriter(new FileWriter(new File("CCLoadStr.txt")));
 br.write(src[i]);
 br.newLine();
 br.flush();
}catch(IOException ex){
ex.printStackTrace();
}finally{
try{
br.close();
}catch(IOException ex){
ex.printStackTrace();
}
} }

解决方案 »

  1.   

    PrintWriter pw = new PrintWriter(new FileWriter(file, true));// true,不覆盖已有文件
      

  2.   


    我发现append效果一样的,还是被覆盖了.
      

  3.   


    呵呵,不知道你有没有试过,PrintWriter也是被覆盖了.
     pr=new PrintWriter(new FileWriter(new File("CCsLoadStr.txt")));
     pr.write(src[i]);
     pr.flush();
      

  4.   

    看清楚了,后面还有一个参数,// true,不覆盖已有文件
      

  5.   

    append()我记得append()也是有一个参数的,true表示不覆盖已有内容具体的,你还是查API文档吧
      

  6.   

    有试过RandomAccessFile:随机存取文件的读取和写入?
    --------
    可以移动文件指针去追加
      

  7.   

    append();调用这个方法的时候,里面的参数是你要追加的内容
      

  8.   

    用RandomAccessFile这个类来实现,LZ自己看看,挺简单的.
      

  9.   

    br=new BufferedWriter(new FileWriter(new File("CCLoadStr.txt")));
    写在循环外面
      

  10.   

    使用RandomAccessFile这个类,把指针seek到你要重新定位的位置,必要的时候查一下API、
      

  11.   

    用RandomAeesssFile这个类可以实现啊。
    RandomAccessFile raf=new RandomAccessFile("CCLoadStr.txt","rw");
    for(int i=0;i<src.length;i++){
       raf.write(str[i].getBytes());
       raf.seek(raf.length());//将记录指针移动到文件的最后
     }
    呵呵,代码是随手写的。有些函数可以查查API
      

  12.   


    如果设为true的话,当我多次运行程序,就会一直往同一个文件里追加。