java - 读取 .csv 文件并存储到 Java 中的链表

标签 java io linked-list

我有一个包含五个字段的简单 .csv 文件:firstName(字符串)、lastName(字符串)、age(整数)、 gender (char) 和 priority (int)。我需要将此文件读入我已经设置的链表中。

我的问题是:最简单的方法是什么?我没有发布具体细节,因为我只是在寻找一般(但简单)的想法;我想自己想办法。我们在文件 I/O 方面没有比 FileReader/FileWriter 做得更高级。我能想到的唯一方法是使用 Scanner 导入每一行,然后使用 String.split() 将所有内容拆分成一个数组,然后去通过数组并手动将所有内容拉出/转换为正确的格式(因为它们都是字符串),然后将所有内容一次插入到链表中。然而,这似乎是一种令人难以置信的迂回方式。

有没有更简单的方法可以完成此任务?

最佳答案

有一个更有效的解决方案,无需重新发明轮子: 添加此库 opencsv 如果你使用 Maven,你可以把这段代码放在你的 pom 文件中 网络.sf.opencsv 打开csv 2.3

并且在库文档中很好地解释了如何使用它 documentacion

ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy();
strat.setType(YourOrderBean.class);
String[] columns = new String[] {"name", "orderNumber", "id"}; // the fields to bind do in your JavaBean
strat.setColumnMapping(columns);

CsvToBean csv = new CsvToBean();
List list = csv.parse(strat, yourReader);

希望对你有帮助

关于java - 读取 .csv 文件并存储到 Java 中的链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13315252/

相关文章:

java - 类之间的 IReport 和 getter

c - c中的文件处理?

使用链表创建多项式并将它们相加

c - 链表结构中的下一个指针元素

java - Reflections库是否忽略RetentionPolicy

java - servlet 没有任何扩展吗?

java - 第一次提交表单后重新分配值(value)标签?

c++ - 版本控制可执行文件并在运行时修改它

Java I/O 消耗更多 CPU 资源

mysql - 通过链接的 MySQL 数据库更新 MySQL 数据库的 MSSQL