【问题标题】:How to write CSV in Java with FileWiriter without last linebreak如何使用 FileWriter 在 Java 中编写 CSV 而没有最后一个换行符
【发布时间】:2023-03-07 16:30:01
【问题描述】:
entries[6]=artikelmarke;
            entries[7]=artikelkategoriename;
            entries[8]=""+kategorienummer;
            entries[9]=sortierung;

            if(flag)writer.writeNext(entries);
        
            
        }
        writer.close();

我像这样创建了一个 CSV,但是最后一个 Linebreak 在末尾添加了一个空行,这会导致进一步处理的麻烦。 有谁知道如何避免这种情况?

【问题讨论】:

  • 你在用opencsv writer吗?
  • CSVReader 阅读器; //String[] 列 = null; HashMap columnNames = new HashMap(); reader = new CSVReader(new FileReader(anbietername+".csv"),';'); CSVWriter writer = new CSVWriter(new FileWriter(anbietername+"parsed.csv"), ';');
  • Deleting the last line of a file with Java 的可能副本。只需删除最后一个符号。
  • 嗯...我的反应是,这里的真正问题在于您的“进一步处理”及其要求。根据RFC 4180,CSV 的最后一行的末尾也需要一个分隔符。 CSVWriter 只是按照规范所说的去做。

标签: java filewriter


【解决方案1】:

我猜你正在使用 CSVWriter。如果您检查 writeNext 的源代码,它总是在末尾添加新行。如果文件不是太大,最简单的解决方案无需对项目进行太多更改,只需写入内存流,然后将其全部刷新到文件中,最后一个换行符除外。

【讨论】:

    猜你喜欢
    • 2013-10-19
    • 2012-01-04
    • 2014-05-13
    • 2011-12-21
    • 2011-06-25
    • 2018-11-05
    • 2018-08-21
    • 2021-07-18
    • 2021-03-22
    相关资源
    最近更新 更多