首页 > 解决方案 > 在 java、int 和 String 中拆分逗号分隔值

问题描述

我在文本文件中有以下内容要导入到 ArrayList 中:

澳大利亚,2

加纳,4

中国,3

西班牙,1

我的 ArrayList 由另一个类的对象组成,Team 具有字段 TeamName 和排名。我可以获得以下内容以将 String 和 int 导入团队名称,但我无法将应该是团队排名的数字分开:

  public void fileReader()
  {
    try
    {
        String filename = "teams.txt";
        FileReader inputFile = new FileReader(filename);
        Scanner parser = new Scanner(inputFile);

        for (Team teams : teams)
        {                 
            teams.setTeamName(parser.next());
            teams.setRanking(parser.next()); //this doesn't work
        }
    }

    catch (IOException e)
    {
        System.out.println("Cannot find file");
    }

}

我猜我必须在某处使用拆分,或者将字符串转换为整数?

标签: javaarraylistsplit

解决方案


您可以编写如下代码来满足您的目的。您的用例中有两个标记,即逗号 (,) 和换行符 (\n)。因此,next() 不能直接使用。

我将遍历每一行,然后用逗号标记每一行,最后得到后续标记。

try
    {
        String filename = "teams.txt";
        FileReader inputFile = new FileReader(filename);
        Scanner parser = new Scanner(inputFile);

        for (Team teams : teams)
        {   
            String[] splitLine = sc.nextLine().split(","); // comma delimited array

            teams.setTeamName(splitLine[0]);
            teams.setRanking(splitLine[1]); 
        }
    }

推荐阅读