在java中读取csv文件并写入新文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中读取csv文件并写入新文件相关的知识,希望对你有一定的参考价值。

我正在从url读取csv文件,并将此文件复制到新的csv文件。

这个csv文件是-分开的。我用-取代,

读取10 MB以上的大文件需要两倍的时间。我可以用什么来将-分隔文件转换为,分隔文件?

URL url = null;
try {
    url = new URL(info.getUrl());
} catch (MalformedURLException e1) {
    e1.printStackTrace();
}
Scanner scanner = null;
StringBuilder sb = new StringBuilder();
scanner = new Scanner(url.openStream());
while (scanner.hasNext()) {
    String line = scanner.nextLine();
    sb.append(line.replace(",", "-").replace("|", ","));
    sb.append("
");
}
答案

使用univocity-parsers,您只需要:

//configure the input format
CsvParserSettings parserSettings = new CsvParserSettings();
parserSettings.getFormat().setDelimiter('-');

//configure the ouput format
CsvWriterSettings writerSettings = new CsvWriterSettings();
writerSettings.getFormat().setDelimiter(',');

//use a class for common pre-made routines used for dealing with CSV
CsvRoutines csvRoutines = new CsvRoutines(parserSettings, writerSettings);

//use the `parseAndWrite` method to read the input in a given format and write it back to another.
csvRoutines.parseAndWrite(new FileReader("/path/to/input.csv"), new FileWriter("/path/to/output.csv"));

希望这可以帮助

免责声明:我是这个图书馆的作者。它是开源和免费的(Apache 2.0许可证)

以上是关于在java中读取csv文件并写入新文件的主要内容,如果未能解决你的问题,请参考以下文章

Java读取CSV数据并写入txt文件

如何从流中读取 CSV 文件并在写入时处理每一行?

如何批量读取csv格式的文件名及文件内容到新的Excel中?

从 csv 文件读取数据并使用 phpspreadsheet 写入 excel

如何在同一循环中“从 .csv 读取并写入 excel”

用java怎么才能在csv文件指定位置写入新的数据,csv原始数据保留。