8
Inhaltsverzeichnis Teil I: Einführung 13 Vorwort 15 Über die Autoren 15 Wozu ein Codebook? 16 Einführung 19 Aufbau des Buches 19 Über Java 19 Die virtuelle Maschine 22 Mögliche Einsatzbereiche 23 Installation des Java 2 SDK 25 Die Struktur von Java-Programmen 46 Sichtbarkeit und Zugriffsattribute 47 Verschiedene integrierte Entwicklungsumgebungen 48 Teil II: Rezepte 65 Core-APIs 67 1 Wie vergleiche ich Gleitkommazahlen mit Rundungsfehlern? 67 2 Wie runde ich Gleitkommazahlen? 68 3 Wie formatiere ich eine Zahl in einen String? 70 4 Wie lese ich kaufmännische Zahlen aus einem String? 72 5 Wie kann ich mit sehr großen und sehr genauen Zahlen rechnen? 73 6 Wie verwandle ich eine Zahl in ein anderes Zahlenformat? 78 7 Wie kann ich bruchrechnen? 79 8 Wie rechne ich mit Matrizen? 81 9 Wie kann ich Zahlen ausschreiben? 86 10 Wie erzeuge ich Zufallszahlen? 89 11 Wie erzeuge ich einen String mit vorbelegten Zeichen? 92 12 Wie zerlege ich einen String? 93 13 Wie zerlege ich einen String mit dem JDK 1.4? 94 14 Wie gebe ich Strings bündig aus? 94 15 Wie kann ich Zufallswörter erzeugen? 96 16 Wie ersetze ich Zeichen in einem String? 98 17 Wie ersetze ich Zeichen in einem String mit dem JDK 1.4? 99 18 Wie wandle ich Strings für verschiedene Codepages um? 100 19 Wie erhalte ich die aktuelle Uhrzeit? 101 20 Welche Zeitzonen unterstützt Java? 102

Das Java Codebook - *ISBN 3-8273-2059 ...Inhaltsverzeichnis Teil I: Einführung 13 Vorwort 15 Über die Autoren 15 Wozu ein Codebook? 16 Einführung 19 Aufbau

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Das Java Codebook  - *ISBN 3-8273-2059 ...Inhaltsverzeichnis Teil I: Einführung 13 Vorwort 15 Über die Autoren 15 Wozu ein Codebook? 16 Einführung 19 Aufbau

Inhaltsverzeichnis

Teil I: Einführung 13

Vorwort 15Über die Autoren 15Wozu ein Codebook? 16

Einführung 19Aufbau des Buches 19Über Java 19Die virtuelle Maschine 22Mögliche Einsatzbereiche 23Installation des Java 2 SDK 25Die Struktur von Java-Programmen 46Sichtbarkeit und Zugriffsattribute 47Verschiedene integrierte Entwicklungsumgebungen 48

Teil II: Rezepte 65

Core-APIs 671 Wie vergleiche ich Gleitkommazahlen mit Rundungsfehlern? 672 Wie runde ich Gleitkommazahlen? 683 Wie formatiere ich eine Zahl in einen String? 704 Wie lese ich kaufmännische Zahlen aus einem String? 725 Wie kann ich mit sehr großen und sehr genauen Zahlen rechnen? 736 Wie verwandle ich eine Zahl in ein anderes Zahlenformat? 787 Wie kann ich bruchrechnen? 798 Wie rechne ich mit Matrizen? 819 Wie kann ich Zahlen ausschreiben? 8610 Wie erzeuge ich Zufallszahlen? 8911 Wie erzeuge ich einen String mit vorbelegten Zeichen? 9212 Wie zerlege ich einen String? 9313 Wie zerlege ich einen String mit dem JDK 1.4? 9414 Wie gebe ich Strings bündig aus? 9415 Wie kann ich Zufallswörter erzeugen? 9616 Wie ersetze ich Zeichen in einem String? 9817 Wie ersetze ich Zeichen in einem String mit dem JDK 1.4? 9918 Wie wandle ich Strings für verschiedene Codepages um? 10019 Wie erhalte ich die aktuelle Uhrzeit? 10120 Welche Zeitzonen unterstützt Java? 102

Page 2: Das Java Codebook  - *ISBN 3-8273-2059 ...Inhaltsverzeichnis Teil I: Einführung 13 Vorwort 15 Über die Autoren 15 Wozu ein Codebook? 16 Einführung 19 Aufbau

6 Inhaltsverzeichnis

21 Wie finde ich ein Schaltjahr heraus? 10322 Wie finde ich Wochentag, Monat, Jahr und Kalenderwoche eines Datums heraus? 10323 Wie vergleiche ich Datumsangaben? 10524 Wie rechne ich mit Datumsangaben? 10825 Wie erstelle ich einen Monatskalender? 10926 Wie kann ich einfach die Performance meiner Anwendung messen? 11127 Wie formatiere ich eine Datumsangabe? 11328 Wie wandle ich einen String in ein Datum um? 11629 Wie berechne ich bewegliche Feiertage? 11730 Wie erhalte ich Informationen über das System? 12031 Wie speichere ich einfach Informationen dauerhaft ab? 12232 Wie erweitere ich Systeminformationen? 123

I/O 12733 Standardausgabe schreiben 12834 Standardeingabe lesen 12935 Die Standard-Streams umleiten 13036 Dateiinformationen auslesen 13137 Datei erzeugen und löschen 13338 Verzeichnisse anlegen 13439 Ein Verzeichnis auflisten und filtern 13540 Kopieren einer Datei 13741 Auftrennen und wieder zusammenfügen von großen Dateien 13942 Texte innerhalb von Dateien suchen 14243 Den Inhalt einer Datei in einen String einlesen 14444 CSV-Dateien einlesen 14545 Binärdaten schreiben und lesen 15146 Einen Stream filtern 15247 Serialisierung von Objekten 15548 Auf beliebige Stellen innerhalb einer Datei zugreifen 15949 Ein Verzeichnis durchlaufen und dabei Operationen auf Dateien ausführen 16950 Einen Verzeichnisbaum kopieren 17451 Eine Datei aus einem Zip-Archiv lesen 17652 Eine Jar-Datei per Doppelklick ausführbar machen 17953 Eine Ressource aus einer Jar-Datei holen 18254 Ein externes Programm starten 18455 Dateitransfer mit NIO (JDK 1.4) 18656 Eine Datei während des Schreib-/Lesevorgangs sperren (JDK 1.4) 187

Graphical User Interface 19357 Wie platziere ich ein Fenster in der Bildschirmmitte? 19358 Wie platziere ich sprach- und systemunabhängig Komponenten im Container? 19459 Wie lege ich eine Buttonleiste in einen Frame? 20560 Wie kann man die Größe einer Komponente bei vorgegebenen Layouts ändern? 210

Page 3: Das Java Codebook  - *ISBN 3-8273-2059 ...Inhaltsverzeichnis Teil I: Einführung 13 Vorwort 15 Über die Autoren 15 Wozu ein Codebook? 16 Einführung 19 Aufbau

Inhaltsverzeichnis 7

61 Wie gestalte ich eine Menüleiste? 21462 Wie weise ich einer Komponente ein Tooltip zu? 21963 Wie tausche ich Inhalte zwischen Komponenten aus? 22864 Wie baue ich einen Rollbalken? 23165 Wie kann ich einer ausgewählten Komponente den initialen Fokus geben? 23566 Wie kann ich die Fokus-Reihenfolge ändern? 23767 Wie kann ich Tastaturkommandos abfangen? 24468 Wie baue ich Dialoge in meine Applikation ein? 25369 Wie erstelle ich Kontrollkästchen und Optionsfelder? 25870 Wie erstelle ich eine Auswahlliste? 26471 Wie lade ich eine Datei in einen Frame? 26972 Wie kann man über einen entsprechenden Dialog Farben

in einer Applikation ändern? 27573 Wie kann die Größe eines Bereichs im Frame zur Laufzeit verändert werden? 27974 Wie können Frames in andere Frames eingebettet werden? 28275 Wie erstelle ich einen Baum? 28576 Wie erstelle ich eine Tabelle? 28877 Wie erstelle ich eine Tabelle mit dynamischem Inhalt? 29078 Wie ändere ich die Gestalt von Komponenten? 29679 Wie erstelle ich neue Komponenten? 30280 Wie bringe ich Komponenten in eine Tabelle? 30881 Wie verschiebe ich die Maus? 31382 Wie kann ich eine laufende Uhr anzeigen lassen? 31683 Wie speichere ich den Status meiner Applikation? 320

Multimedia 32984 Wie kann ich einfache Strukturen zeichnen? 32985 Wie zeichne ich verschiedene Rahmen? 33086 Wie kann ich etwas mit Farbverläufen füllen? 33487 Wie kann ich eine Grafik laden und anzeigen? 33688 Wie kann ich eine Grafik verschieben, rotieren, skalieren oder verzerren? 33989 Wie kann ich Transparenzeffekte erzeugen? 34190 Wie kann ich die Helligkeit einer Grafik verändern? 34291 Wie kann ich eine Grafik in Graustufen darstellen? 34692 Wie kann ich Text schattieren? 34893 Wie kann ich einen Text mit Anti-Alias zeichnen? 35094 Wie kann ich eine Textur auf einen Schriftzug legen? 35295 Wie kann ich die verfügbaren Schriftarten ermitteln? 35596 Wie kann ich ein Video oder eine Musikdatei abspielen? 35697 Wie kann ich einfache Sounddateien in Anwendungen einbinden? 36098 Wie kann ich Text drucken? 36299 Wie kann ich im Textmodus drucken? 368100 Wie kann ich eine Grafik drucken? 369101 Wie kann ich eine Animation erzeugen? 372

Page 4: Das Java Codebook  - *ISBN 3-8273-2059 ...Inhaltsverzeichnis Teil I: Einführung 13 Vorwort 15 Über die Autoren 15 Wozu ein Codebook? 16 Einführung 19 Aufbau

8 Inhaltsverzeichnis

Datenbankanbindung 377102 Wie installiere ich JDBC-Treiber? 377103 Wie stelle ich eine Verbindung zur Datenbank her? 381104 Wie lese ich Daten aus einer Tabelle? 384105 Wie speichere ich Daten in einer Tabelle? 386106 Wie ändere ich Daten? 389107 Wie kann ich automatisch generierte Primärschlüssel auslesen? 391108 Wie erfahre ich die Anzahl der betroffenen Datensätze? 393109 Wie kann ich ständig wiederkehrende SQL-Anweisungen vorbereiten? 394110 Wie erfahre ich, wie viele Spalten ein Datensatz hat? 397111 Wie kann ich den Typ einer Tabellenspalte herausfinden? 400112 Wie erfahre ich, wie viele Datensätze im ResultSet sind? 402113 Wie kann ich durch ein ResultSet navigieren? 405114 Wie lese bzw. schreibe ich Datums- und Zeitwerte? 408115 Wie speichere ich große Textmengen in einer Datenbank? 411116 Wie serialisiere ich Objekte in eine Datenbank? 413117 Wie nutze ich Transaktionen? 416118 Wie nutze ich Connection-Pooling? 419119 Wie nutze ich eine DataSource? 420120 Wie kann ich JDBC-Zugriffe loggen? 422121 Wie rufe ich eine Stored Procedure auf? 423122 Wie erfahre ich mehr über (m)eine Datenbank? 426

Netzwerk 429123 Wie lese ich die einzelnen Fragmente einer URL aus? 429124 Wie lese ich den Inhalt einer URL? 430125 Wie lese ich ein Bild von einer URL? 432126 Wie lese ich eine passwortgeschützte URL aus? 433127 Wie sende ich einer URL Daten? 434128 Wie ermittle ich zu einer URL die zugehörige IP-Adresse? 436129 Wie empfange ich über UDP gesendete Daten? 438130 Wie sende ich Daten über UDP? 439131 Wie sende ich ein Datagramm an mehrere Empfänger? 441132 Wie empfange und sende ich Daten über TCP/IP? 444133 Wie baue ich einen einfachen Telnet-Client? 446134 Wie baue ich einen TCP/IP Server (JDK1.3)? 449135 Wie baue ich einen TCP/IP Server (JDK1.4)? 453136 Wie müssen Methoden implementiert werden, damit sie entfernt

(über RMI) aufgerufen werden können? 459137 Wie findet man ein entferntes Objekt und ruft seine Methoden auf? 462138 Wie verschickt man Objekte mit RMI? 465139 Wie verschickt man Referenzen auf Objekte mit RMI? 470

Page 5: Das Java Codebook  - *ISBN 3-8273-2059 ...Inhaltsverzeichnis Teil I: Einführung 13 Vorwort 15 Über die Autoren 15 Wozu ein Codebook? 16 Einführung 19 Aufbau

Inhaltsverzeichnis 9

XML 475140 Wie übertrage ich ein XML-Dokument per http-get? 475141 Wie übertrage ich ein XML-Dokument per http-post? 481142 Wie kann man XML-Dokumente über JMS Point-To-Point übertragen? 488143 Wie kann man XML-Dokumente über JMS Publish/Subscribe übertragen? 501144 Wie generiere ich ein XML-Dokument aus einer Datenbank und

stelle es über http zur Verfügung? 513145 Wie parse ich ein XML-Dokument per DOM und validiere dabei

gegen eine DTD oder ein XML-Schema? 526146 Wie parse ich ein XML-Dokument per DOM, extrahiere

Daten und manipuliere Inhalt und Struktur? 534147 Wie durchsuche ich ein DOM mit XPath? 540148 Wie parse ich ein XML-Dokument per SAX und validiere dabei

gegen eine DTD oder ein XML-Schema? 543149 Wie parse ich ein XML-Dokument per JDOM und validiere dabei

gegen eine DTD oder ein Schema? 552150 Wie transformiere ich mit JAXP XML anhand eines XSLT-Style-Sheets

und stelle das Resultat über http zur Verfügung? 556

Reguläre Ausdrücke 563151 Wie sieht ein regulärer Ausdruck aus? 563152 Wie suche ich nach einem Text? 563153 Wie ersetze ich Text? 565154 Wie prüfe ich eine E-Mail? 566155 Wie prüfe ich eine IP-Adresse? 568156 Wie prüfe ich eine Kreditkartennummer? 569157 Wie passe ich Links einer HTML-Seite an? 571158 Wie finde ich Dateien mit bestimmten Inhalten (GREP)? 575159 Wie kann ich Dateinamen mit einem regulären Ausdruck suchen? 578160 Wie nutze ich reguläre Ausdrücke ohne das JDK 1.4? 581161 Wie kann ich einen regulären Ausdruck einfach überprüfen? 582

Datenstrukturen 585162 Einführung 585163 Wie kann ich ein dynamisches Array verwenden? 585164 Wie kann ich Daten von einem Array in ein anderes kopieren? 587165 Wie kann ich ein Array sortieren? 589166 Wie kann ich ein assoziatives Array verwenden? 590167 Wie kann ich eine Collection sortieren? 591168 Wie kann ich in einer Collection suchen? 594169 Wie kann ich eine Collection stets sortiert halten? 596170 Wie kann ich Elemente in einer Collection löschen? 597171 Wie kann ich eine Schnittmenge aus zwei Collections bilden? 598172 Wie kann ich das kleinste oder größte Element einer Collection ermitteln? 600173 Wie kann ich einen Stack verwenden? 600

Page 6: Das Java Codebook  - *ISBN 3-8273-2059 ...Inhaltsverzeichnis Teil I: Einführung 13 Vorwort 15 Über die Autoren 15 Wozu ein Codebook? 16 Einführung 19 Aufbau

10 Inhaltsverzeichnis

174 Wie kann ich eine Warteschlange implementieren? 603175 Eine Warteschlange mit Prioritäten versehen 605176 Wie kann ich durch eine Datenstruktur iterieren? 607177 Wie kann man in beiden Richtungen durch Listen iterieren? 609178 Wie kann ich eine Baumstruktur abbilden? 610

Threads 617179 Wie erzeuge ich einen Thread? 617180 Wie erzeuge ich einen Thread als Runnable? 619181 Wie starte und stoppe ich einen Thread? 621182 Wie kann ich Threads mehrfach nutzen? 623183 Wie lasse ich einem anderen Thread den Vortritt? 627184 Welche Threads laufen in meiner Anwendung? 629185 Wie tausche ich große Datenmengen zwischen Threads aus? 632186 Wie schreibe ich einen Timer? 636187 Wie funktioniert ein Webserver? 639188 Wie lade ich alle Bilder einer Webseite herunter? 647

Web Server 653189 Wie kann ich ein Servlet benutzen (Server, Web-Applikation)? 654190 Wie kann ich ein Servlet benennen (mapping)? 656191 Wie kann ich Servlets mit Parametern initialisieren? 657192 Wie kann ich Informationen über den verwendeten Server ermitteln? 658193 Wie kann ich ein Servlet beim Start einer Anwendung konfigurieren? 659194 Wie kann ich ein Formular auswerten? 660195 Wie kann ich Suchmaschinen überlisten? 662196 Wie kann ich eine Grafik in einem Servlet generieren? 665197 Wie kann ich den Browser identifizieren? 667198 Wie kann ich anhand des Browsers die Sprache des Benutzers erkennen? 668199 Wie kann ich die IP-Adresse des Aufrufers ermitteln? 669200 Wie kann ich den Browser-Cache ausschalten? 669201 Wie kann ich eine Datei an den Browser schicken? 670202 Wie kann ich eine Datei hochladen? 671203 Wie kann ich eine statische HTML-Seite in ein Servlet einbinden? 675204 Wie kann ich einen Request umleiten? 676205 Wie kann ich einen dauerhaften Cookie setzen, um

Benutzer wiederzuerkennen? 677206 Wie kann ich Ausgaben im PDF-Format erzeugen? 679207 Wie kann ich qualifizierte Fehlermeldungen ausgeben? 682208 Wie kann ich ein Formular mit JSP und JavaBeans auswerten? 685209 Wie kann ich Teilbereiche einer JSP auslagern? 690210 Wie kann ich ein eigenes Tag schreiben? 693211 Eine anwendungsbezogene Benutzeranmeldung realisieren? 699

Page 7: Das Java Codebook  - *ISBN 3-8273-2059 ...Inhaltsverzeichnis Teil I: Einführung 13 Vorwort 15 Über die Autoren 15 Wozu ein Codebook? 16 Einführung 19 Aufbau

Inhaltsverzeichnis 11

Applets 7071 Wie binde ich ein Applet in eine HTML-Seite ein? 7072 Kann ich Applets auch in einem eigenen Fenster darstellen? 7083 Kann ich auch Swing in meinem Applet benutzen? 7104 Wie kann ich Bilder nachladen? 7115 Wie stelle ich fest, ob ein Browser Java unterstützt? 7166 Wie erkenne ich den aktuellen Browser? 7187 Wie kann ich ein Applet transparent darstellen? 7198 Wie kann mein Applet mit dem Server kommunizieren? 7229 Wie steuere ich mein Applet über JavaScript? 72510 Wie kann ein Applet auf JavaScript zugreifen? 72711 Wie können zwei Applets auf einer Seite miteinander kommunizieren? 73012 Wie kann ich Einstellungen dauerhaft speichern? 73213 Wie erstelle ich ein Chat-Applet? 73614 Wie verwende ich Java-WebStart? 74115 Wie kann ich mit WebStart auf Ressourcen des Rechners zugreifen? 744

Sonstiges 74916 Welche Sprachen unterstützt mein System? 74917 Wie ändere ich die Standardeinstellung für die Sprache? 75018 Wie kann ich internationale Texte verwalten? 75219 Wie füge ich dynamischen Inhalt in statischen Texten ein? 75420 Wie sortiere und vergleiche ich Strings sprachabhängig? 75721 Wie kann ich einfache Log-Meldungen erstellen? 75922 Wie definiere ich den Ausgabeort von Log-Meldungen? 76123 Ein GUI zur Verwaltung von Loggern 76324 Wie erfahre ich zuverlässig, ob mein Algorithmus richtig arbeitet? 76525 Wie kann ich Übergabeparameter komfortabel parsen? 76826 Wie kann ich Mails über SMTP verschicken? 77127 Wie kann ich Mails mit einem Anhang verschicken? 77428 Wie kann mir Ant in meinem Projekt helfen? 77729 Wie kann ich Klassen mit ANT kompilieren? 77930 Wie kann ich Klassen und JAR-Dateien mit ANT ausführen? 78031 Wie kann ich eine JAR-Datei mit ANT erzeugen? 78132 Wie erhalte ich mittels Reflection Informationen über eine Klasse? 78233 Wie erzeuge ich mittels Reflection ein Objekt und rufe

Methoden des Objektes auf? 78434 Wie kann ich die Windows Registry manipulieren? 78635 Wie kann ich mittels JNI die Uhrzeit des Computers stellen? 78836 Wie kann ich von C aus auf ein Java-Programm zugreifen? 791

Page 8: Das Java Codebook  - *ISBN 3-8273-2059 ...Inhaltsverzeichnis Teil I: Einführung 13 Vorwort 15 Über die Autoren 15 Wozu ein Codebook? 16 Einführung 19 Aufbau

12 Inhaltsverzeichnis

Teil III: Glossar 795

Glossar 79737 Allgemeine Tabellen 81538 Applets 81539 Arithmetische Operationen 81640 AWT 81741 Calendar 82742 Java Native Interface 82943 JDBC 83044 Swing 83645 Sicherheit in Java 83946 Xpath Ausdrücke 84447 Installationsanleitungen 846

Stichwortverzeichnis 849