如何将一列数据附加到文本文件的末尾

时间:2019-07-30 09:22:50

标签: java append text-files

我的问题是如何将一列数据附加到文本文件的末尾。我读取了需要向其添加数据列的文件并打印了此列,但无法将此列添加到(writer )文件。

我的代码如下

BufferedReader reader = new BufferedReader(new FileReader(filename1));
      PrintWriter writer = new PrintWriter("file1.txt", "UTF-8");
      String line;
        while((line = reader.readLine()) != null){
               String[] columns = line.split(",");
         System.out.println("my  column : "+ columns[numberoffeatures-1] );
        }

一个例子:假设我有一个fileName1包含以下数据

 A, B, C, D, F
1.0, -1.0, 1.0, 1.0, 1.0
0.0, 1.0,  0.0, 0.0, 1.0
1.0, 0.0,  1.0, 1.0, 2.0
1.0, 0.0, -1.0, -1.0, 2.0
0.0, 1.0,  1.0, 1.0, 1.0
-1.0, -1.0, 0.0, 1.0 , 2.0

经过一些处理,我得到了fileName2包含以下数据

B, D
-1.0, 1.0, 
1.0, 0.0 
0.0, 1.0 
0.0, -1.0
1.0, 1.0
-1.0, 1.0

现在,我需要将F列从fileName1复制到fileName2的末尾,就像这样

B, D, F
-1.0, 1.0, 1.0
1.0, 0.0, 1.0 
0.0, 1.0, 2.0 
0.0, -1.0, 2.0
1.0, 1.0, 1.0
-1.0, 1.0,2.0

需要任何帮助。

1 个答案:

答案 0 :(得分:0)

只需读取filename1每一行的最后一个字段,将列值附加到该行,然后将其写入filename2:

BufferedReader reader1 = new BufferedReader(new FileReader(filename1));
BufferedReader reader2 = new BufferedReader(new FileReader(filename2));

BufferedWriter bw = new BufferedWriter(new FileWriter(fileName2, false));

String line1;
while((line1 = reader1.readLine()) != null){
    String[] columns = line1.split(",");

    String line2 = reader2.readLine();
    line2 += columns[columns.length - 1];

    bw.write(line2);
    bw.newLine();
}
reader1.close();
reader2.close();
bw.close();
相关问题