Первый символ входного файла читается неправильно, используя scanner.useDelimiter - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь прочитать из входного файла, используя функцию 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 голосов
/ 09 мая 2019

Попробуйте изменить код и используйте 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) {
      }
   }
...