如何在 CSV 阅读器中使用 2 个字符作为分隔符

How use 2 char as separator on CSVreader

我希望人们在我的数据库中上传 CSV,但有些人使用 , 作为 separator/delimiter,有些人使用 ;.

有没有简单的解决方案?

CSVReader csvReader = new CSVReader(new InputStreamReader(inputStream), ';', '"', 1);

如果您希望别人向您发送文件,您应该要求他们使用决定的格式,并警告他们任何其他格式都将被忽略。并通过优雅地报告错误而不是崩溃来确保您正确处理无效格式...

我建议您将用户重定向到 appropriate RFC 4180, in case they want to be fully compliant with the CSV 标准。

如果你愿意,你可以添加一个选项,让他们输入他们在上传文件时使用的分隔符(并确保你处理他们输入错误或故意输入错误的情况)。

如果你再好一点,你可以阅读第一行并尝试使用不同的常用分隔符(<space>\t,;、. ..) 然后选择给你最多代币的那个。

无论何时处理用户输入,您都必须付出大量努力(和代码)来验证每个 corner-case。