Boa tarde.
Pessoal, tenho uma função booleana que compara 2 datas. O objetivo desta função e verificar se a data passada é maior que a anterior (a anterior em formato String armazenada em um arquivo TXT). Entretanto, estou com problemas para setar a String no calendar.
Vou postar a função completa:
public boolean isNovaMensagem(Message mensagem) throws FileNotFoundException, IOException, MessagingException, ParseException
{
File file = new File("C:\\xml\\data_ultima_msg.txt");
FileReader fileReader = new FileReader(file);
BufferedReader br = new BufferedReader(fileReader);
String caminhoTXT = br.readLine();
Calendar ultima_msg = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
ultima_msg.setTime(sdf.parse(caminhoTXT));
System.out.println("Data da ultima mensagem: " + ultima_msg);
Calendar mensagemNova = Calendar.getInstance();
mensagemNova.setTime(mensagem.getSentDate());
System.out.println("Data mensagem lida: " + mensagemNova);
if(mensagemNova.compareTo(ultima_msg) > 0)
return true;
return false;
}
Debugando o código, vi que existe um erro de conversão na linha
ultima_msg.setTime(sdf.parse(caminhoTXT));
Segue o erro na console do netbeans:
Exception in thread "main" java.text.ParseException: Unparseable date: "Wed Feb 06 17:22:55 BRST 2013"
at java.text.DateFormat.parse(DateFormat.java:357)
at MailProcess.isNovaMensagem(MailProcess.java:68)
at MailProcess.printMessage(MailProcess.java:84)
at MailProcess.processEmail(MailProcess.java:47)
at Main.main(Main.java:12)
Java Result: 1
Como realizo esta conversão, lembrando que pego a string em um arquivo TXT: EX: Wed Feb 06 17:22:55 BRST 2013.
Agradeço desde já… 
