我有一个包含五个字段的简单 .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/