1

我知道我需要使用该input.useDelimeter方法,但是由于某种原因,当我尝试使两个定界符成为正斜杠和换行符时,input.useDelimiter("[/\n]");它给了我一个输入不匹配错误。我也试过了("/\n"); and ("[/\\n]");

这是有问题的方法。

public static void main(String[] args)
   throws FileNotFoundException {
   int month = 0;
   int day = 0;
   int year = 0;
   File file = new File("dates.txt");
   Scanner input = new Scanner(file);
   if (file.exists()){
      while (input.hasNextLine()){
         input.useDelimiter("[/]");
         month = input.nextInt();
         day = input.nextInt();
         year = input.nextInt();
         System.out.print(day + "-" + month + "-" + year + "\n");

      }
   }
}

当我使用不包含换行符且仅正斜杠的文本文件时,它工作得很好,但由于某种原因,我无法让它将换行符识别为分隔符。

4

1 回答 1

0

一种可能性是文本文件实际上包含回车而不是换行符。

我的理解是,两者都"[/\n]"应该"[/\\n]"作为分隔符正则表达式......如果你真的有换行符要匹配。

于 2013-10-31T16:31:29.407 回答