Я создал метод для чтения файла в Java. Данный файл содержит список книг в следующем формате: фамилия | имя | название. Однако, когда я пытаюсь использовать метод, я получаю сообщение об ошибке. Мой метод заключается в следующем:
private final static char END_SIGN = '|';
void readBookFile(String readFile) {
try {
FileReader textFileReader = new FileReader(readFile);
BufferedReader textReader = new BufferedReader(textFileReader);
int numberOfBooks = Integer.parseInt(textReader.readLine());
for (int i = 0; i < numberOfBooks; i++) {
String post = textReader.readLine();
int index1 = post.indexOf(END_SIGN);
int index2 = post.indexOf(END_SIGN, index1 + 1);
String lastname = post.substring(0, index1);
String firstname = post.substring(index1 + 1, index2);
String title = post.substring(index2 + 1);
Book book = new Book(lastname, firstname, title);
addBook(book);
}
tekstReader.close();
}
catch (IOException exception) {
System.out.print("Wrong file reading: " + exception);
System.exit(1);
}
}
Когда я пытаюсь запустить этот метод, я получаю сообщение об ошибке:
Exception in thread "main" java.lang.NumberFormatException: For input string: "Twain|Mark|The Adventures of Huckleberry Finn"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Library.readBookFile(Library.java:36)
at LibraryTest.main(LibraryTest.java:8)
Строка 36 - это часть метода, где я идентифицирую целое число книг. Очевидно, что по какой-то причине это не работает. Если кто-нибудь знает, что может вызвать это, я был бы очень признателен!