Java 从CSV文件读入数组

Java 从CSV文件读入数组,java,csv,java.util.scanner,Java,Csv,Java.util.scanner,我正在制作一个有很多人的程序。人们有不同数量的信息,例如他们都有名字、姓氏、类型、性别。我遇到的第一个问题是有些人也有电子邮件,有些人有图片(使用图标),有些人两者都有 我需要读入这些数据,然后将它们显示出来,这是一个大学班级的数据,老师基本上是想把它弄清楚。。我已经阅读了API和许多文章,但似乎无法使其正常工作。有人能把我推到正确的方向吗 我不希望你给我答案,只是一点帮助。逐行阅读文件,并用,将其拆分。 //您需要创建一个pojo来保存所有用户信息 List<UserObject>

我正在制作一个有很多人的程序。人们有不同数量的信息,例如他们都有名字、姓氏、类型、性别。我遇到的第一个问题是有些人也有电子邮件,有些人有图片(使用图标),有些人两者都有

我需要读入这些数据,然后将它们显示出来,这是一个大学班级的数据,老师基本上是想把它弄清楚。。我已经阅读了API和许多文章,但似乎无法使其正常工作。有人能把我推到正确的方向吗


我不希望你给我答案,只是一点帮助。

逐行阅读文件,并用
将其拆分。 //您需要创建一个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。