Я пишу программу в Java и одна из вещей, которые мне нужно d o состоит в том, чтобы создать набор из каждого допустимого местоположения для задачи кратчайшего пути. Расположение определяется в файле .txt, который следует строгому шаблону (одна запись в строке, без лишних пробелов) и идеально подходит для использования .nextLine для получения данных. Моя проблема в том, что 241 строка в файле (из 432) сканер перестает работать на 3/4 пути через запись и не распознает новые строки.
Мой код:
//initialize state space
private static Set<String> posible(String posLoc) throws FileNotFoundException {
Scanner s = new Scanner(new File(posLoc));
Set<String> result = new TreeSet<String>();
String availalbe;
while(s.hasNextLine()) {
availalbe = s.nextLine();
result.add(availalbe);
}
s.close();
return result;
}
Данные
Shenlong Gundam
Altron Gundam
Tallgee[scanner stops reading here]se
Tallgeese II
Leo (Ground)
Leo (Space)
Конечно, «сканер перестает читать здесь» нет в данных, я просто отмечаю, где сканер перестает читать файл. Это 3068 байт в файле, но это ни на что не повлияет, потому что в той же программе с почти идентичным кодом я читаю 261-строчный файл .txt размером 14 КБ, который кодирует пути. Любая помощь будет оценена по достоинству.
Спасибо.