public class FileParser {
private String filename = "mydata.txt";
private Pattern pattern = Pattern.compile("\\D\\D\\d+");
private Scanner reader;
public FileParser() throws FileNotFoundException{
reader = new Scanner(new File(filename));
}
public boolean hasMoreData(){
return reader.hasNext(pattern);
}
public String[] getNextData(){
return pattern.split(reader.next(pattern));
}
public void close(){
reader.close();
}
}
これは私のコードです。私は2文字と数字からなるパターンを取り出そうとしています。なぜgetNextData()関数から空の配列が得られないのですか?私のパターンに何が問題なのですか?
pattern.split(reader.next(pattern));
reader.next(pattern)
は、例えば、そのパターンの次の発生を返している:式中
あなたは「mydata.txtという」またはフラグメントを提出投稿することができますか? – dash1e
'mydata.txt'には何がありますか? Isはアクセス可能ですか?ファイルの絶対パスで置き換えて、ファイルパスの問題かどうか確認してください(Windowsではスラッシュを倍にすることを忘れないでください)。 – dasblinkenlight
ファイルはsrcフォルダと同じ場所にあります。それは大したことではないでしょうか? – user1281598