如何读取和处理一行中可以有多个对象的JAVA代码

如何读取和处理一行中可以有多个对象的JAVA代码,java,csv,Java,Csv,我想读取一个CSV文件,其中包含许多元素,这些元素可以是金属元素,也可以是非金属元素,CSV文件中的每一行都可以包含多个元素。如果它有多个元素,则文件的所有行都将有相同数量的元素。有效的行将如下所示: <symbol,name,atomNum,mass,other/><symbol,name,atomNum,mass,other/> 我有一个超级元素类和两个子类,金属和非金属,每个子类都包含一个类的标准方法在处理行时,可以使用正则表达式来标识之间的组 <(\w+)

我想读取一个CSV文件,其中包含许多元素,这些元素可以是金属元素,也可以是非金属元素,CSV文件中的每一行都可以包含多个元素。如果它有多个元素,则文件的所有行都将有相同数量的元素。有效的行将如下所示:

<symbol,name,atomNum,mass,other/><symbol,name,atomNum,mass,other/>

我有一个超级元素类和两个子类,金属和非金属,每个子类都包含一个类的标准方法

在处理行时,可以使用正则表达式来标识
之间的组

<(\w+),(\w+),(\w+),(\w+),(\w+)\/>

谢谢你的回复。这个方法似乎确实可以,我只需要熟悉正则表达式就行了。但一个问题是,在一行上可能有n个元素,这意味着在一行上可能有3,4,8,9个元素。我怎么解释呢?我想你需要数一数“
<(\w+),(\w+),(\w+),(\w+),(\w+)\/>
String line = "<symbol,name,atomNum,mass,other/><symbol,name,atomNum,mass,other/>";
String regex = "<(\\w+),(\\w+),(\\w+),(\\w+),(\\w+)\\/>";
Matcher matcher = Pattern.compile(regex)
                         .matcher(line);
while (matcher.find()) {
  System.out.println(matcher.group(1));
  System.out.println(matcher.group(2));
  System.out.println(matcher.group(3));
  System.out.println(matcher.group(4));
  System.out.println(matcher.group(5));
}
try(FileInputStream fileStrm = new FileInputStream(fileName);
    InputStreamReader rdr = new InputStreamReader(fileStrm);
    BufferedReader bufRdr = new BufferedReader(rdr))
{
  // here your code and no need to take care of resource closing...
}
catch(IOException e)
{
    System.out.print("error in file processing: " + e.getMessage());
}