FileオブジェクトとScannerオブジェクトが与えられた場合、
File simpleFile = ranFi.getSelectedFile();
Scanner text = new Scanner(simpleFile);
そしてこれらの2つのありふれた声明:
while(text.hasNext())
{
String currentLine = text.nextLine();
単一のif-statement句でScanner/Stringクラスの論理ステートメントを使用しようとしています。この句は、次のような特定の一致する正規表現の下でファイルの最初の行を読み取ります。
String fp100 = "[S][:][A-Ze0-1]";
String fp200 = "[S][:][A-Z0-1][A-Z0-1]";
//other regexes…
次に、同じif-statement句で適切なScanner / Stringクラスのメソッドを呼び出して、2行目以降/許容可能な行を読み取ります。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))
{
ただし、そのような要素なしの例外はすぐにスローされます。私は何が間違っているのですか?よろしくお願いします。編集:スタックトレースを含めましたが、これはプロジェクトに関連しているため、ソースコードを削除しました。