我想知道如何生成一个类来保存 csv 文件中的字段值,而不是建立严格数量的字段。我阅读了有关使用 CodeModel 生成类的信息,但是在完成程序后无法专门编译以使用 .csv 文件来完成工作,它需要即时工作。有些文件有 22 个字段,而其他文件有 40 个。最简单的解决方案是创建一个包含 50 个字段的类,并在 for 循环中填充它们。
示例文件:
Colname1; colname2; colname3...........
2014-23-11;22;22;22;23;4;4;5;
2014-23-11;32;22;22;23;4;4;5;
2014-23-11;62;52;22;23;4;4;5;
2014-23-11;28;22;22;93;4;4;5;
最佳答案
当您不知道字段的数量及其数据类型时,很难在运行时创建类。不过,您可以进行两次传递,在第一次传递中找出一个模式并相应地创建类并在第二次传递中填充。基本上,您需要跟踪字段名称、它们的数据类型并保留后备数据类型(例如,特定字段的记录子集可能是 int,然后突然您可能会发现很长)。
就我个人而言,我认为在运行时制作模式并不能提供非常干净的解决方案。 map 的 map 可能是处理它的更好方法。只是我的两分钱。
关于Java如何存储来自不同CSV文件的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27046064/