Как читать только целые числа с помощью буферизованного читателя и не использовать сканирование.
Если я понимаю ваш вопрос, вы можете использовать текущий код и добавить регулярное выражение для удалениявсе, что не является цифрой, перед парсингом значения int
.Например,
while ((line = reader.readLine()) != null) {
int i = Integer.parseInt(line.replaceAll("\\D+", ""));
System.out.println(i);
}
Вы должны close()
ваш reader
, когда вы закончите с ним, иначе вы пропустите дескриптор файла.Я считаю, что лучшим решением является try-with-resources
.Мол,
try (BufferedReader reader = new BufferedReader(new FileReader("Supplies.txt"))) {
// BufferedReader reader = new BufferedReader(new FileReader("Supplies.txt"));