Я пытаюсь разобрать простой файл csv с некоторыми пользователями, используя opencsv 3.3, и поместить его в bean-компонент, но я получаю исключение класса, не найденное при запуске кода. Файл Person.class, который я использую для считываемых объектов, приведен ниже.OpenCSV Parse CSV с заголовком в список
public class Person {
private String firstname;
private String lastname;
private String email;
private String type;
/*public Person() {}
public Person (String firstname, String lastname, String email, String type) {
this.firstname = firstname;
this.lastname = lastname;
this.email = email;
this.type = type;
}*/
//set all the variables for the person
//set the first name
public String getFirstName() {
return firstname;
}
public void setFirstName(String firstname) {
this.firstname = firstname;
}
//set the last name
public String getLastName() {
return lastname;
}
public void setLastName (String lastname) {
this.lastname = lastname;
}
//set the email address of the user
public String setEmail() {
return email;
}
public void getEmail(String email) {
this.email = email;
}
//set the type for the user
public String setType() {
return type;
}
public void getType (String type) {
this.type = type;
}
@Override
public String toString() {
return "User [firstname=" + firstname + ", lastname=" + lastname + ", email=" + email + ", type=" + type + "]";
}
}
Код для чтения csv приведен ниже.
String filename = "D:/Projects/deploy/resources/sample.csv";
try {
HeaderColumnNameTranslateMappingStrategy<Person> strategy = new HeaderColumnNameTranslateMappingStrategy<Person>();
strategy.setType(Person.class);
Map<String, String> mapping = new HashMap<String, String>();
mapping.put("firstname", "firstname");
mapping.put("lastname", "lastname");
mapping.put("email", "email");
mapping.put("type", "type");
strategy.setColumnMapping(mapping);
System.out.println("past the mapping");
CSVReader reader = new CSVReader(new FileReader(filename));
System.out.println("past the reader");
CsvToBean<Person> csvbean = new CsvToBean<Person>();
System.out.println("past the csvtobean");
List<Person> csvusers = csvbean.parse(strategy, reader);
System.out.println(csvusers);
} catch (Exception e) {
System.out.println("there was an exception in the main program:" + e);
}
Когда я запустил это, в нем говорится, что класса не найдено для отображения заголовка. Вы знаете, что это проблема с Person.class или с отображением? Любая помощь, которую вы можете предоставить, будет высоко оценена.