Строка, которую вы передаете useDelimiter , интерпретируется как регулярное выражение.|
- это специальный символ в регулярных выражениях, поэтому его необходимо экранировать обратной косой чертой.И саму обратную косую черту нужно экранировать, чтобы обойти Java-компилятор.Поэтому изменение этой строки следующим образом должно помочь:
pieces.useDelimiter("\\|");
Также обратите внимание, что строка, возвращаемая pieces.next()
, включает разделитель.Я подозреваю, что эти строки:
int row = Integer.valueOf(pieces.next());
int col = Integer.valueOf(pieces.next());
могут быть заменены на:
int row = pieces.nextInt();
int col = pieces.nextInt();
Вам также может понадобиться настроить pullPath
для обрезки разделителя (ей).1016 * Надеюсь, это поможет.