认为OOP。您需要创建一个Person
类属性name
,age
和height
。
public class Person {
private String name;
private String age;
private String height;
// Getter and setter methods...
}
接下来,使用BufferedReader
逐行读取CSV文件。对于每行你想分割线使用line.split(";");
给你一个String[]
包含令牌。
对于行,你现在可以创建一个从令牌的Person
;
Person person = new Person();
person.setName(tokens[0]);
person.setAge(tokens[1]);
person.setHeight(tokens[2]);
注意,这假设列位置。如果你想删除这个假设,你需要将Map
头部放到某个位置。
String headerLine = "NAME;AGE;HEIGHT";
String[] headers = headerLine.split(";");
Map<String,Integer> map = new HashMap<String,Integer>();
for (int i=0; i<headers.length; i++) {
map.put(headers[i], i);
}
然后,您可以通过它的名称获取列的位置;
Person person = new Person();
person.setName(tokens[map.get("NAME")]);
person.setAge(tokens[map.get("AGE")]);
person.setHeight(tokens[map.get("HEIGHT")]);
Table
类型类是反模式。当程序员不能用对象来思考时,他们往往会出现。我经常在遗留的java应用程序中看到Table
类,并且它真正的PITA可以与它们一起工作。不要这样做。
感谢这是hasmap完美帮助我的hasmap部分。 –