ramzymamzy
Mitglied
Hallo,
ich möchte die fehlgeschlagenen Mails aus einer Datenbank ausgeben!
Dazu habe ich einen CLOB in einen String umformatiert und möchte jetzt über subString nur einen bestimmten Teil dieses Strings ausgeben! Der Strart soll bei "To:" sein und die Endausgabe bei "Subject:" oder "Mime-Version:"
Mein jetziger code:
bekomme diese fehlermeldung:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java(Compiled Code))
at Result.showFailedMails(Result.java:126)
at DBConnect.main(DBConnect.java:25)
Exception in thread "main"
Beispiel Mail:
Message-ID: <540143977.1101987520936.JavaMail.zmbf0wm@c032032127>
From: TEST_mail@abc.com
To: Vorname Nachname <null>
To: fsd@bfg.com
Subject: bestellung
Mime-Version: 1.0
Content-Type:blabla;
Kann jemand helfen?
ich möchte die fehlgeschlagenen Mails aus einer Datenbank ausgeben!
Dazu habe ich einen CLOB in einen String umformatiert und möchte jetzt über subString nur einen bestimmten Teil dieses Strings ausgeben! Der Strart soll bei "To:" sein und die Endausgabe bei "Subject:" oder "Mime-Version:"
Mein jetziger code:
Code:
public ResultSet showFailedMails(Connection theConnection){
ResultSet rs = null;
try{
Statement stmt = theConnection.createStatement();
rs = stmt.executeQuery("SELECT MIMEBODY FROM MAIL_QUEUE WHERE STATUS LIKE 'failed'");
ResultSetMetaData rsmd = rs.getMetaData();
while (rs.next()) {
StringWriter sWriter = new StringWriter();
BufferedReader br = new BufferedReader(rs.getCharacterStream("MIMEBODY"));
String str;
while ((str = br.readLine()) != null) {
sWriter.write(str);
String suchString = sWriter.toString();
int suchWort = suchString.indexOf("To:");
int nextWort = suchString.indexOf("Subject:");
if (nextWort < 0)
nextWort = suchString.indexOf("Mime-Version:");
String ergebnis = suchString.substring(suchWort,nextWort);
System.out.println(suchWort);
System.out.println(nextWort);
System.out.println(" MIMEBODY: " + ergebnis);
}
}
}
catch(SQLException e){
}
catch (IOException e) {
e.printStackTrace();
}
return rs;
}
bekomme diese fehlermeldung:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java(Compiled Code))
at Result.showFailedMails(Result.java:126)
at DBConnect.main(DBConnect.java:25)
Exception in thread "main"
Beispiel Mail:
Message-ID: <540143977.1101987520936.JavaMail.zmbf0wm@c032032127>
From: TEST_mail@abc.com
To: Vorname Nachname <null>
To: fsd@bfg.com
Subject: bestellung
Mime-Version: 1.0
Content-Type:blabla;
Kann jemand helfen?