java - 在 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");
}
}
我猜我必须在某处使用拆分,或者将字符串转换为整数?
解决方案
您可以编写如下代码来满足您的目的。您的用例中有两个标记,即逗号 (,) 和换行符 (\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]);
}
}
推荐阅读
- python-3.x - Python Adal - 无法使用访问令牌检索 Outlook 邮件
- python - 如何使用烧瓶从网页导入 csv 文件?
- php - 更改输出变量 MySQL 查询
- javascript - 如何在 React-Native 中转换这个对象?
- angularjs - 从 angularjs 接收到 MVC 控制器的数据为空
- python - 如何使用现有的一维列表制作二维列表进行散列?
- c# - 重新加载/重新启动 ASP.NET Core 2.1 Web 应用程序
- javascript - 动态选择选项列表的vue渲染
- java - 输出问题,用户输入通过 void 函数(Caesar's Cipher,Java,swing)
- prolog - Prolog 中的无损通用量化