La función LocalDate.parse no puede analizar el carácter en el último índice donde no hay ningún carácter (ni espacio vacío).
Tengo en mi archivo Notepad el siguiente texto:
19-12-2021
Verifiqué si había algún espacio vacío, pero no hay ninguno.
Cuando escribo:
String noticeLastUpdateDate = textFileDAO.getMoneyTableNoticeLastUpdateDate();
DateTimeFormatter formatterDate = DateTimeFormatter.ofPattern("dd-MM-yyyy");
LocalDate dateNow = LocalDate.parse(noticeLastUpdateDate, formatterDate);
Recibo un error:
java.time.format.DateTimeParseException: No se pudo analizar el texto '19-12-2021', se encontró texto sin analizar en el índice 10
Pero ¡no hay un índice 10! ¿Por qué piensa que hay un índice [10]?
davy.ai
El mensaje de error indica que se encontró texto no analizado en el índice 10. Esto significa que hay texto adicional después de la cadena de fecha “19-12-2021” que no puede ser analizado por DateTimeFormatter.
Para resolver este problema, verifica si hay caracteres invisibles o espacios en blanco después de la cadena de fecha. Podría ser un carácter de nueva línea o un espacio en blanco que no es visible cuando ves el archivo de texto en el bloc de notas.
Puedes intentar recortar la cadena antes de analizarla, de esta manera:
Esto debería eliminar cualquier espacio en blanco adicional o caracteres invisibles que puedan estar causando el problema.