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

Java 如何在CSVreader上使用2字符作为分隔符,java,csv,separator,Java,Csv,Separator,我希望人们在我的数据库中上传CSV,但有些人使用,作为分隔符/分隔符,有些人使用 有没有简单的解决办法 CSVReader csvReader = new CSVReader(new InputStreamReader(inputStream), ';', '"', 1); 如果您希望人们向您发送文件,您应该要求他们使用您决定的格式,并警告他们任何其他格式都将被忽略。并确保通过优雅地报告错误而不是崩溃来正确处理无效格式 我建议您将用户重定向到,以防他们希望完全符合该标准 如果你很好,你可以为他

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

有没有简单的解决办法

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

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

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

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

如果您更好,您可以阅读第一行并尝试使用不同的常用分隔符(
\t
,…),然后选择给您最多令牌数的分隔符


无论何时处理用户输入,您都必须花费大量精力(和代码)验证每个角落的大小写。

我们讨论的是同一文件中的不同分隔符,还是使用不同分隔符的不同文件?如果是后者,请在上载文件时询问用户该文件使用的分隔符,并将其与文件一起存储。
CSVReader
是您可以控制的类吗?进一步注意:有一个标准是为CSV文件编写的:。我将请提交人查阅该文件。仅供参考,该库支持此标准格式(以及变体)。