Java 从CSV文件读入数组
我正在制作一个有很多人的程序。人们有不同数量的信息,例如他们都有名字、姓氏、类型、性别。我遇到的第一个问题是有些人也有电子邮件,有些人有图片(使用图标),有些人两者都有 我需要读入这些数据,然后将它们显示出来,这是一个大学班级的数据,老师基本上是想把它弄清楚。。我已经阅读了API和许多文章,但似乎无法使其正常工作。有人能把我推到正确的方向吗Java 从CSV文件读入数组,java,csv,java.util.scanner,Java,Csv,Java.util.scanner,我正在制作一个有很多人的程序。人们有不同数量的信息,例如他们都有名字、姓氏、类型、性别。我遇到的第一个问题是有些人也有电子邮件,有些人有图片(使用图标),有些人两者都有 我需要读入这些数据,然后将它们显示出来,这是一个大学班级的数据,老师基本上是想把它弄清楚。。我已经阅读了API和许多文章,但似乎无法使其正常工作。有人能把我推到正确的方向吗 我不希望你给我答案,只是一点帮助。逐行阅读文件,并用,将其拆分。 //您需要创建一个pojo来保存所有用户信息 List<UserObject>
我不希望你给我答案,只是一点帮助。逐行阅读文件,并用
,
将其拆分。
//您需要创建一个pojo来保存所有用户信息
List<UserObject> users = new ArrayList<UserObject>();
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
String[] userinfos = line.split(",");
UserObject newUser = new UserObject();
//set the mandatory attributes here
if (userinfos.length > 4) {
// you have the extra fields here.
// set the extra fields to user here
}
users.add(newUser);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
List users=new ArrayList();
试一试{
br=新的BufferedReader(新的文件读取器(csvFile));
而((line=br.readLine())!=null){
字符串[]userinfos=line.split(“,”);
UserObject newUser=newuserobject();
//在此处设置强制属性
如果(userinfos.length>4){
//这里有额外的字段。
//在此处将额外字段设置为user
}
users.add(newUser);
}
}catch(filenotfounde异常){
e、 printStackTrace();
}
其中一个问题是名字或姓氏中可能有逗号。我建议您使用类似的任何第三方csv解析器 考虑添加一个示例文件和代码提示:如果您知道如何一次读取一行文件,只需一次读取一行即可。它是一个平面文件,字段之间有逗号,如果跳过一个字段,一行中只有两个逗号。然后用split在逗号处拆分行,这样你就有了一个数组。所以基本上把每一行读成一个字符串,然后在逗号处拆分?我也试过了。。。MemberInterface[]成员;字符串memberList=“members.csv”;File theFile=新文件(成员列表);扫描仪输入=新扫描仪(文件);input.useDelimiter(“,”);Java的api中有一些方法可以完成我需要的所有事情,我宁愿使用api或Java中的其他方法来完成这项任务。谢谢你的回复!是的,除了opencsv建议之外,整个方法只使用JavaAPI。