... 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
Montag, 19. Januar 2009
Fett und Durchgestrichen
mattki, 22:38h
Wie ändere ich die Schriftart einer JComponent dahingehend, dass sie fett und durchgestrichen wird?
Zum Beispiel mit dieser kleinen Methode:
private static void changeFontOfComponent(JComponent comp, boolean bold, boolean strikethrough) {
Map attributes = new Hashtable(2);
attributes.put(TextAttribute.WEIGHT, bold ? TextAttribute.WEIGHT_BOLD : TextAttribute.WEIGHT_REGULAR);
attributes.put(TextAttribute.STRIKETHROUGH, Boolean.valueOf(strikethrough));
comp.setFont(comp.getFont().deriveFont(attributes));
}
Zum Beispiel mit dieser kleinen Methode:
private static void changeFontOfComponent(JComponent comp, boolean bold, boolean strikethrough) {
Map attributes = new Hashtable(2);
attributes.put(TextAttribute.WEIGHT, bold ? TextAttribute.WEIGHT_BOLD : TextAttribute.WEIGHT_REGULAR);
attributes.put(TextAttribute.STRIKETHROUGH, Boolean.valueOf(strikethrough));
comp.setFont(comp.getFont().deriveFont(attributes));
}
... link (0 Kommentare) ... comment
10 Sekunden warten
mattki, 22:01h
Gibt es ein Batch-Kommando, um die weitere Verarbeitung einer Batch-Datei eine Zeitlang warten zu lassen?
Warte 10 Sekunden:
ping 127.0.0.1 -n 10 > nul
Warte 10 Sekunden:
ping 127.0.0.1 -n 10 > nul
... link (0 Kommentare) ... comment
Verzeichnis sichern
mattki, 21:50h
Wie kann man in Unix ein Verzeichnis sichern?
tar -cvf .tar
tar -cvf .tar
... link (0 Kommentare) ... comment
Daten in Oracle importieren
mattki, 21:45h
Mit welchen Tool kann man Daten in eine Oracle Datenbank importieren?
Man kann das Kommandozeilentool "sqlldr" verwenden. Übergeben wird eine Textdatei, Control-File (.ctl), um den Import zu steuern.
Man kann das Kommandozeilentool "sqlldr" verwenden. Übergeben wird eine Textdatei, Control-File (.ctl), um den Import zu steuern.
... link (0 Kommentare) ... comment
Donnerstag, 15. Januar 2009
Text in Lower-/Upper-Case umwandeln
mattki, 18:42h
Wie kann man im Eclipse-Editor eine Zeichenkette komplett in Klein- oder Großbuchstaben wandeln?
Text markieren und dann drücken...
Lower Case: CTRL+SHIFT+Y
Upper Case: CTRL+SHIFT+X
Text markieren und dann drücken...
Lower Case: CTRL+SHIFT+Y
Upper Case: CTRL+SHIFT+X
... link (0 Kommentare) ... comment
... older stories