Я хочу прочитать из текстового файла, который содержит только цифры. Такой файл есть в UTF-8, а числа разделяются только новыми строками (без пробелов и прочих вещей). Всякий раз, когда я вызываю Integer.valueOf (myString), я получаю исключение.
Это исключение действительно странно, потому что, если я создаю предопределенную строку, такую как "56 \ n", и использую .trim (), она работает отлично. Но в моем коде, не только это не так, но тексты исключений говорят, что он не смог преобразовать это «54856». Я попытался ввести новую строку там, а затем текст ошибки говорит, что он не может конвертировать "54856
"
С этим не может быть и речи, что мне не хватает?
File ficheroEntrada = new File("C:\\in.txt");
FileReader entrada =new FileReader(ficheroEntrada);
BufferedReader input = new BufferedReader(entrada);
String s = input.readLine();
System.out.println(s);
Integer in;
in = Integer.valueOf(s.trim());
System.out.println(in);
Текст исключения гласит:
Exception in thread "main" java.lang.NumberFormatException: For input string: "54856"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
at java.base/java.lang.Integer.parseInt(Integer.java:658)
at java.base/java.lang.Integer.valueOf(Integer.java:989)
at Quicksort.main(Quicksort.java:170)
Файл в .txt состоит из:
54856
896
54
53
2
5634