如何解析csv文件并在java bean类中存储datails [英] How to parse a csv file and store datails in java bean class
本文介绍了如何解析csv文件并在java bean类中存储datails的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要解析一个csv文件并将数据存储到Java bean类中.喜欢:
I need to parse a csv file and store the data into a java bean class. Like:
email,fname,lname
imr@gmail.com,abc,xyz
这些细节放入bean类中.我能够解析一个csv文件.如何在bean类中存储详细信息.
These details into a bean class. I am able to parse a csv file. How to store details in bean class.
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类中.
the above code is parsing csv file but i want that data to be inserted in java bean class.
推荐答案
创建POJO
private class Data{//You can make it public too, in a separate class
String email;
String fname;
String lname;
//Getters
//Setters
}
在您的原始课堂上,您可以像这样使用
In your original class you can use like this
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中拥有所有行.您可以进行空检查以提高效率.
You will have all rows in your arraylist. You can put a null check to make it more efficient.
这篇关于如何解析csv文件并在java bean类中存储datails的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文