给定一个 File 和一个 Scanner 对象,
File simpleFile = ranFi.getSelectedFile();
Scanner text = new Scanner(simpleFile);
以及这两个司空见惯的陈述:
while(text.hasNext())
{
String currentLine = text.nextLine();
我正在尝试在单个 if 语句子句中使用 Scanner/String 类逻辑语句,该语句在给定的匹配正则表达式下读取文件的第一行,例如:
String fp100 = "[S][:][A-Ze0-1]";
String fp200 = "[S][:][A-Z0-1][A-Z0-1]";
//other regexes…
然后在同一 if 语句子句中调用适当的 Scanner/String 类方法以读取第二行和后续行/可接受的行。我已经上下阅读了javadoc,但还没有弄清楚。使用 currentLine.matches(regex) 和 text.nextLine().matches(regex),编译此代码,
if(currentLine.matches(fp100)||currentLine.matches(fp200)||
currentLine.matches(fp300) && text.nextLine().matches(fp100)||
text.nextLine().matches(fp101) || text.nextLine().matches(fp200)||
text.nextLine().matches(fp201) || text.nextLine().matches(fp300)||
text.nextLine().matches(fp301))
{
但立即抛出无此类元素异常。我究竟做错了什么?提前感谢您的宝贵时间。编辑:我已经包含了堆栈跟踪,但删除了源代码,因为这是与项目相关的。