java - 如何找到文本文件中缺少的分隔符?
问题描述
程序应从文本文件中读取匹配数据。文件中的每一行都包含特定匹配的数据。文件中每一行的格式如下:
home_team_name : away_team_name : home_team_score : away_team_score
请注意如何使用冒号 (:) 分隔输入的不同部分(字段分隔符)。
以下是文件中典型数据行的示例。
Arsenal : Spurs : 2 : 1
Everton : Liverpool : 1 : 1
Huddersfield : Chelsea: 2 : 1
存储在文件中的数据可能已损坏。对于此要求,程序必须检查从文件中读取的每一行数据,识别无效数据并通过控制台上的消息将这些数据报告给用户。程序至少应检查和验证以下可能的问题—— - 字段分隔符可能丢失或使用了错误的字段分隔符。
解决方案
为此,您必须使用String
该类的两个方法以及一个BufferedReader
. 这是一些代码
import java.io;
public class Program {
public static void main(String[] args) {
String filePath = "c:\temp\in.txt";
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line = br.readLine();
while (line != null) {
String[] fields = line.split(":");
String[] trimmedFields = new String[fields.length];
for (int i = 0; i < trimmedField.length; i++) {
trimmedFields[i] = fields[i].trim();
}
//do your verification with the trimmedFields
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
推荐阅读
- azure - 使用侦听权限连接到 Azure 服务总线会导致错误
- android - 以编程方式在android 7中卸载Android应用程序
- ubuntu - 为 Ubuntu 安装 RT Linux 补丁
- regex - 在 Sublime Text 中匹配多行正则表达式
- java - 手机开机自动启动服务
- hibernate - Entitymanager (JPA/Hibernate) 在所有列中返回 Null 值
- ios - 如何在swift4中删除tableView顶部的空格?
- c# - c#在没有WebBrowser控制的情况下使用用户名和密码打开到网站的HTTP会话
- java - 具体参数类型与通配符签名
- amazon-web-services - 如何公开 AWS Batch 容器的端口?