如果您希望人们向您发送文件,则应要求他们使用您决定的格式,并警告他们任何其他格式都将被忽略。并通过适当地报告错误而不是崩溃来确保正确处理无效格式...
我建议您将用户重定向到适当的RFC 4180,以防他们希望完全符合CSV标准。
如果您感觉不错,可以为他们添加一个选项,让他们输入他们在上传文件时使用的分隔符(并确保在他们输错文件或故意输入错误的文件时,可以处理这些情况)。
如果你更漂亮,你可以读第一行,并尝试不同的常用的分隔符(<space>
,\t
,,
,;
,...),然后选择一个,让你的令牌数量最多。
每当处理用户输入时,您都必须付出很多努力(和代码)来验证每个极端情况。
进一步的注意:有针对CSV文件编写的标准:RFC 4180。我请提交者参考该文件。仅供参考,Apache Commons CSV库以
CSVFormat.RFC4180
(以及其他形式)支持此标准格式。