... newer stories
Freitag, 13. Februar 2009
Throwable/Exception in einen String wandeln
mattki, 13:36h
Ich möchte eine Exception anzeigen. Die Methode exception.getMessage() liefert mir bestenfalls einen beschreibenden Text, aber nicht die Stelle, wo die Exception aufgetreten ist. Wie gehe ich vor?
Mit dieser Methode kann man den kompletten Stacktrace einer Exception in einen String schreiben:
public static String getStackTrace(Throwable aThrowable) {
StringWriter strWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(strWriter);
aThrowable.printStackTrace(printWriter);
return strWriter.toString();
}
Mit dieser Methode kann man den kompletten Stacktrace einer Exception in einen String schreiben:
public static String getStackTrace(Throwable aThrowable) {
StringWriter strWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(strWriter);
aThrowable.printStackTrace(printWriter);
return strWriter.toString();
}
... link (0 Kommentare) ... comment
Ausgabe formatieren
mattki, 12:46h
Mit
Syntax wie mit printf in C:
%[flags][width][.precision][length]specifier
Für die Formatierung stehen folgende Format-Spezifizierer zur Verfügung:
Nähere Informationen in den JDK JavaDocs zur Klasse java.util.Formatter.
Beispiele:
1. Strings:
2. Eine Dezimalzahl auf 2 Stellen formartieren, bei 1 stelligen Zahlen eine führende 0 anhängen:
3. Aktuelles Datum und Uhrzeit ausgeben:
4. Datum nach ISO-8601 (YYYY-MM-DD) formatieren:
String.format
kann man ab Java 1.5 einen Text inklusive Variablenwerte komfortable anzeigen Syntax wie mit printf in C:
%[flags][width][.precision][length]specifier
Für die Formatierung stehen folgende Format-Spezifizierer zur Verfügung:
%b
: Boolean%c
: Character%s
: String%d
: Dezimalzahl%x
: Hexadezimaldarstellung%X
: ^^ mit Großbuchstaben%f
: Fließkommazahl%e
: Wissenschaftliche Notation%E
: ^^ mit großem "E"%g
: Fließkommazahl in gemischter Schreibweise%G
: ^^ mit großem "E"%t
: Datum und Zeit%n
: neue Zeile%%
: Prozentzeichen%c
: Unicode-ZeichenNähere Informationen in den JDK JavaDocs zur Klasse java.util.Formatter.
Beispiele:
1. Strings:
String name = "Max";
String day = "Montag";
String.format("Hallo %s! Heute ist %s.", name, day);
// Ausgabe: Hallo Max! Heute ist Montag.
2. Eine Dezimalzahl auf 2 Stellen formartieren, bei 1 stelligen Zahlen eine führende 0 anhängen:
// flag = 0 --> mit 0-en auffüllen
// width = 2 --> auf 2 Stellen formatieren
// specifier = d --> Dezimalzahl
String.format("%02d", 1) // Ausgabe: 01
3. Aktuelles Datum und Uhrzeit ausgeben:
System.out.println(String.format("Datum %tD, Uhrzeit %tT", new Date(), new Date()));
4. Datum nach ISO-8601 (YYYY-MM-DD) formatieren:
System.out.println(String.format("%tF", new Date()));
... link (0 Kommentare) ... comment
... older stories