如何在CSVreader上使用2个字符作为分隔符

时间:2019-07-03 15:58:29

标签: java csv separator

我希望人们在我的数据库中上传CSV,但是有些人使用,作为分隔符/分隔符,有些人使用;

有一个简单的解决方案吗?

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

1 个答案:

答案 0 :(得分:1)

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

我建议您将用户重定向到appropriate RFC 4180,以防他们希望完全符合CSV标准。

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

如果您更好,可以阅读第一行并尝试使用其他常用的分隔符(<space>\t,;,... ),然后选择能为您提供最多令牌的令牌。

无论何时处理用户输入,都必须花费大量精力(和代码)来验证每个极端情况。