2016-05-19 3 views
1

Здравствуйте, я ParseException, когда я пытаюсь использовать SimpleDateFormat:java.text.ParseException: дата не поддается синтаксическому анализу: "

this.firstTweetTime = new SimpleDateFormat("mm/dd/yyyy HH:mm",Locale.US).parse(array[4]); 

где array[4] представляет собой строку из текстового файла, который я прочитал, и это так: 12/8/2010 11:48

я получаю следующее сообщение об ошибке:.. enter image description here Я не могу понять, что пошло не так, пожалуйста, вы можете помочь мне

+1

Похоже, что вы прочитали данные из файла, используя неправильную кодировку символов. –

+0

По крайней мере одна ошибка внутри вашего шаблона. Вы должны использовать «MM/dd/yyyy HH: mm», используя «MM» для номера месяца. Также может потребоваться изменить локаль, поскольку текст может содержать цифры без ascii (не совсем ясно из вашего описания). –

+0

@Meno да, вы правы, но это не проблема. на самом деле это не должно даже срабатывать исключение разбора –

ответ

0

Причина, по которой у меня возникло такое исключение, не было связано с форматом даты, а не с исходным текстовым файлом. оказывается, что файл был сохранен как формат Unicode, в то время как он должен быть сохранен как формат UTF-8. вот почему данные выглядели поврежденными в исключении, в то время как я могу прочитать его из файла, который обычно не обрабатывался через мое приложение.

1

это выглядит как даты вы получаете из вашего массива есть некоторые символы, которые SimpleDateFormat не может понять, поместите массив [4] в регистратор или другую строку, где вы можете отлаживать и точно видеть, что вы пытаетесь проанализировать.

Смежные вопросы