我手头有一项任务是验证包含以下数据的文本文件的架构
以下格式的 50 个条目,
序列号是从 1-50 后跟一个制表符,然后是一个随机数 n,范围从 100<=n<=500
e.g. 1 <tab> 256
由于正则表达式更容易检查文件的模式并且更易于维护我更喜欢使用正则表达式而不是一个将解析每个字符串并立即验证的类
输出文件应该是这样的
Line 1 formatted correctly
Invalid format on line 2 (51 1000) + (Error message that can be set using a custom exception class)
我的问题是,正则表达式能否强大到足以给我所需的输出,即引发异常以正确的方式设置?
我的尝试如下
public class TestOutput {
private final int MAX_LINES_TO_READ = 50;
private final String REGEX = "RAWREGEX";
public void testFile(String fileName) {
int lineCounter = 1;
try {
BufferedReader br = new BufferedReader(new FileReader(fileName));
String line = br.readLine();
while ((line != null) && (lineCounter <= MAX_LINES_TO_READ)) {
// Validate the line is formatted correctly based on regular expressions
if (line.matches(REGEX)) {
System.out.println("Line " + lineCounter + " formatted correctly");
}
else {
System.out.println("Invalid format on line " + lineCounter + " (" + line + ")");
}
line = br.readLine();
lineCounter++;
}
br.close();
} catch (Exception ex) {
System.out.println("Exception occurred: " + ex.toString());
}
}
public static void main(String args[]) {
TestOutput vtf = new TestOutput();
vtf.testFile("transactions.txt");
}
}
这是我的问题
最佳设计应该是什么样子(是否使用正则表达式)?
如果是,使用什么正则表达式?
开满天机
牧羊人nacy
开心每一天1111
相关分类