[英]CSVPrinter is appending \ to the long string while generating csv
[英]Writing list<String> in csv java using CsvPrinter
我有List<String>
,我正在寫入一個 csv 文件,但每一行都寫在一個單元格上。 我怎樣才能通過 "," 拆分它們? 我嘗試設置分隔符,但仍然無法正常工作。
代碼
Writer writer = new FileWriter("D://new.csv", true);
CSVPrinter csvPrinter = new CSVPrinter(writer, CSVFormat.DEFAULT);
csvPrinter.printRecords(myList);
正如documentation
所述,當您提供List<String>
它將使用一個記錄,即一行,即單元格中的每個String
。
如果給定的集合只包含簡單的對象,則此方法將打印一條記錄,如 printRecord(Iterable)
您需要一個使用每個String
實際上是一行的事實的代碼,例如
傳遞每個String
拆分一個單獨的記錄
List<String> myList = new ArrayList<>(); for (String row : myList) csvPrinter.printRecord(row.split(","));
拆分所有String
然后將整個列表作為記錄列表傳遞
List<String> myList = new ArrayList<>(); List<String[]> myListSplitted = myList.stream().map(row -> row.split(",")).collect(Collectors.toList()); csvPrinter.printRecords(myListSplitted);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.