我需要解析一个csv文件并将数据存储到java bean类中。喜欢:
email,fname,lname
[email protected],abc,xyz
这些细节变成一个bean类。我能够解析一个csv文件。如何在bean类中存储详细信息。
private static List<List<String>> readTXTFile(String csvFileName) throws IOException {
String line = null;
BufferedReader stream = null;
List<List<String>> csvData = new ArrayList<List<String>>();
try {
stream = new BufferedReader(new FileReader(csvFileName));
while ((line = stream.readLine()) != null) {
String[] splitted = line.split(",");
List<String> dataLine = new ArrayList<String>(splitted.length);
for (String data : splitted)
dataLine.add(data);
csvData.add(dataLine);
}
} finally {
if (stream != null)
stream.close();
}
return csvData;
}
上面的代码正在解析csv文件,但我希望将该数据插入到Java bean类中。
最佳答案
创建一个POJO
private class Data{//You can make it public too, in a separate class
String email;
String fname;
String lname;
//Getters
//Setters
}
在您的原始课程中,您可以像这样使用
List<Data> datas = new ArrayList<Data>();
try {
stream = new BufferedReader(new FileReader(csvFileName));
while ((line = stream.readLine()) != null) {
String[] splitted = line.split(",");
Data data = new Data();
data.setEmail(splitted[0]);
data.setFname(splitted[1]);
data.setLname(splitted[2]);
datas.add(data);
}
}
您将在arraylist中拥有所有行。您可以放置一个空检查以使其更有效。