在JAVA的CSV文件中将两行合并为一行

在JAVA的CSV文件中将两行合并为一行,java,Java,我有一个具有该格式的CSV: FASS339XM;4567;false;89590343<br> 940000299;4183;2019-09-02 14:12:18.461819;HW;0986481366<br> FADS339XM;4446;true;89594343<br> 940000300;4183;2019-09-02 14:12:21.243148;HW;0986481366<br> FASS339XM;4567;true;8959

我有一个具有该格式的CSV:

FASS339XM;4567;false;89590343<br>
940000299;4183;2019-09-02 14:12:18.461819;HW;0986481366<br>
FADS339XM;4446;true;89594343<br>
940000300;4183;2019-09-02 14:12:21.243148;HW;0986481366<br>
FASS339XM;4567;true;89590343<br>
940000301;4183;2019-09-03 09:58:17.173558;HW;0009482803<br>
...
我不知道该怎么办。我试了好几种方法,但都做不到。 我使用JAVA和Spring批处理进行开发


有什么想法吗?

你可以这样做:

FASS339XM;4567;false;89590343;940000299;4183;2019-09-02 14:12:18.461819;HW;0986481366
FADS339XM;4446;true;89594343;940000300;4183;2019-09-02 14:12:21.243148;HW;0986481366
FASS339XM;4567;true;89590343;940000301;4183;2019-09-03 09:58:17.173558;HW;0009482803
try (PrintWriter output = new PrintWriter("path/to/output.csv");) {
    List<String> lines = Files.readAllLines(Paths.get("path/to/your.csv"));
    // assuming your csv has an even number of lines
    for (int i = 0; i < lines.size(); i++) {
        output.println(lines.get(i) + ";" + lines.get(++i));
    }
}

只需使用一个快速而肮脏的sed命令

sed -z -e "s/<br>\n\([^F]\)/;\1/g" -e "s/<br>//g" -i <file>

您可以逐行读取文件,然后将每对行写入一行。或者您可以制作一个spring批处理,每个令牌读卡器两行,处理器thad concat和clean You two line,以及一个编写转换行的编写器。请用反映这一点的代码片段描述您迄今为止所做的尝试。然后请花点时间阅读,并了解。最后请阅读此感谢,此作品!!只需在output.writelines.geti+;+的末尾添加一个EOL al因为它创建了一个具有唯一行的文件。对不起,println是我想要的。