温馨提示:本文翻译自stackoverflow.com,查看原文请点击:java - How use 2 char as separator on CSVreader
csv java separator

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

发布于 2020-03-27 12:09:32

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

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

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

查看更多

查看更多

提问者
Thiago Mohr da Silveira
被浏览
44
163k 2019-07-04 09:57

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

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

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

如果你更漂亮,你可以读第一行,并尝试不同的常用的分隔符(<space>\t,;,...),然后选择一个,让你的令牌数量最多。

每当处理用户输入时,您都必须付出很多努力(和代码)来验证每个极端情况。