【发布时间】:2015-05-03 07:25:52
【问题描述】:
我正在尝试使用程序从文本文件中读取的数据创建一个对象。数据由同一程序放入文本文件中。我正在拆分行,然后将每个段粘贴到 String ArrayList 中。在我到达日期之前,它一直运行良好。将 String 日期解析为 Date 类型会导致 ParseException 错误。任何想法为什么我没有正确解析它?谢谢!
BufferedReader bufReader = new BufferedReader(new
FileReader("open_tickets.txt"));
String line = bufReader.readLine();
ArrayList<String> words = new ArrayList<String>();
while ((line = bufReader.readLine()) != null){
String[] split = line.split("= ");
for (int i = 0; i < split.length; i++){
words.add(split[i]);
if (split[i].endsWith("2015")){
String arrayPriority = words.get(1); //"5"
String description = words.get(3); //"Building on fire"
String reportedBy = words.get(5); //"Tim"
String arrayDate = words.get(7); //"Mon Mar 02 13:31:24 CST
2015"
int priority = Integer.valueOf(arrayPriority); //5
SimpleDateFormat formatter = new SimpleDateFormat ("EEE MM dd HH:mm:ss z yyyy");
try {
Date date = formatter.parse(arrayDate);
} catch (ParseException e){
e.printStackTrace();
}
StackTrace:java.text.ParseException:无法解析的日期:“Mon Mar 02 13:31:24 CST 2015” 在 java.text.DateFormat.parse(DateFormat.java:366) 在 ----.company.Main.addTicketFromFile(Main.java:257) 在----.company.Main.main(Main.java:17)
public Date parse(String source) throws ParseException
{
ParsePosition pos = new ParsePosition(0);
Date result = parse(source, pos);
if (pos.index == 0)
throw new ParseException("Unparseable date: \"" + source + "\"" ,
pos.errorIndex);
return result;
}
【问题讨论】:
-
好吧
Mon Mar 02 13:31:24 CST 2015的格式不是MM/dd/yyyy -
请添加堆栈跟踪。
-
@gtgaxiola 刚刚注意到,已更正,仍然返回错误。编辑添加堆栈跟踪。
-
@Michelle 您的 SimpleDate 格式仍然不正确。例如月份应该是
MMM来解析Mar -
哇,我不敢相信我错过了。谢谢。
标签: java parse-error