在java中的先前创建的文本文件中添加新行

时间:2014-11-22 22:21:56

标签: java text-files bufferedreader file-handling bufferedwriter

我很难找到如何读取文本文件,然后在文件之前的文本后面写一个新行。

喜欢(当前文件)

1234年艾伯特

(已编辑的文件)

1234年艾伯特

1223戴夫

为此,我使用此代码但没有成功。

   String suma="";
   String verify="";

        BufferedReader br=new BufferedReader(new FileReader("C:\\Users\\Beto\\Desktop\\registrocuentas.txt"));

        BufferedWriter bw= new BufferedWriter(new FileWriter("C:\\Users\\Beto\\Desktop\\registrocuentas.txt")); 
        while((verify=br.readLine())!=null){
            suma=suma+" "+verify;
            System.out.println(suma);
        }
        suma=suma+" "+cuenta+"."+nombre+apellidoPaterno+apellidoMaterno;
        String split[]=suma.split(" ");
        int c=split.length;
        for(int i=0;i<c;i++){
            bw.write(split[i]);
        }
        bw.close();
        br.close();

目前编辑的文件会删除旧条目,使文件看起来像这样

(我的编辑文件代码的当前结果)

1223戴夫

2 个答案:

答案 0 :(得分:0)

您应该使用append方法而不是write:

bw.append(split[i]);

这会在文件中添加现有数据,而write会完全删除旧数据并将新数据放入。

答案 1 :(得分:0)

看看JavaDocs。他们告诉你如何使用BufferedWriters。

创建FileWriter时,请使用此行而不是当前行:

BufferedWriter bw= new BufferedWriter(new FileWriter("C:\\Users\\Beto\\Desktop\\registrocuentas.txt"), true);

这意味着您要附加到您的文件中。