使用scan.useDelimiter错误读取输入文件的第一个字符

时间:2019-05-09 06:35:11

标签: java java.util.scanner delimiter readfile

我正在尝试使用useDelimiter函数从输入文件中读取。我的文件包含“ /和\ r \ n”作为分隔符。自然,我去了scanner.useDelimiter(“ / | \ r \ n”),但是返回的输出很有趣,特别是文件的第一个字符

代码如下:

Scanner readfile = new Scanner(new File("text.txt")).useDelimiter("/|\r\");          
while(readfile.hasNext()) {                              
    System.out.println(readfile.next());
}

输入文件如下:

Dr A/P0001/N28-201/012-3465789/1
Dr B/P0002/D03-356/013-3334445/3
Dr C/SP0001/K12-311/014-9988655/4
Dr D/SP0002/T09-101/018-8888333/2
Dr E/P0003/L34-213/014-6655241/0

输出返回:

锘緿r A
P0001
N28-201
012-3465789
1
Dr B
P0002
D03-356
013-3334445
3
Dr C
SP0001
K12-311
014-9988655
4
Dr D
SP0002
T09-101
018-8888333
2
Dr E
P0003
L34-213
014-6655241
0

有人可以帮忙吗?我一直在互联网上搜索整整一个星期。预先感谢。

1 个答案:

答案 0 :(得分:0)

尝试更改代码并使用BufferedReader。

   public static void main(String[] args)  {
      try {
         BufferedReader in = new BufferedReader(new FileReader("c:\\filename"));
         String str;

         while ((str = in.readLine()) != null) {
            System.out.println(str);
         }
         System.out.println(str);
      } catch (IOException e) {
      }
   }