Das Java Premium-Codebook
von: Dirk Louis, Peter Müller, Karsten Samaschke
Addison-Wesley Verlag, 2006
ISBN: 9783827322296
Sprache: Deutsch
841 Seiten, Download: 8847 KB
Format: PDF, auch als Online-Lesen
Inhaltsverzeichnis | 6 | ||
Teil I Einführung | 6 | ||
Über dieses Buch | 6 | ||
Teil II Rezepte | 6 | ||
Zahlen und Mathematik | 6 | ||
Strings | 6 | ||
Datum und Uhrzeit | 7 | ||
System | 7 | ||
Ein- und Ausgabe (IO) | 8 | ||
GUI | 8 | ||
Grafik und Multimedia | 9 | ||
Reguläre Ausdrücke und Pattern Matching | 10 | ||
Datenbanken | 10 | ||
Netzwerke und E-Mail | 10 | ||
XML | 11 | ||
Internationalisierung | 11 | ||
Threads | 11 | ||
Applets, Servlets und JSPs | 12 | ||
Objekte, Collections, Design-Pattern | 12 | ||
Sonstiges | 13 | ||
Teil III Anhang | 13 | ||
Tabellen | 13 | ||
Die Java-SDK-Tools | 13 | ||
Stichwortverzeichnis | 13 | ||
Teil I Einführung | 14 | ||
Über dieses Buch | 16 | ||
Auswahl der Rezepte | 16 | ||
Kompilieren der Buchbeispiele | 17 | ||
Fragen an die Autoren | 16 | ||
Teil II Rezepte | 18 | ||
Zahlen und Mathematik | 20 | ||
1 Gerade Zahlen erkennen | 20 | ||
2 Effizientes Multiplizieren (Dividieren) mit Potenzen von 2 | 20 | ||
3 Primzahlen erzeugen | 21 | ||
4 Primzahlen erkennen | 23 | ||
5 Gleitkommazahlen auf n Stellen runden | 25 | ||
6 Gleitkommazahlen mit definierter Genauigkeit vergleichen | 26 | ||
7 Strings in Zahlen umwandeln | 27 | ||
8 Zahlen in Strings umwandeln | 31 | ||
9 Ausgabe: Dezimalzahlen in Exponentialschreibweise | 35 | ||
10 Ausgabe: Zahlenkolonnen am Dezimalzeichen ausrichten | 38 | ||
11 Ausgabe in Ein- oder Mehrzahl (Kongruenz) | 45 | ||
12 Umrechnung zwischen Zahlensystemen | 47 | ||
13 Zahlen aus Strings extrahieren | 50 | ||
14 Zufallszahlen erzeugen | 52 | ||
15 Ganzzahlige Zufallszahlen aus einem bestimmten Bereich | 54 | ||
16 Mehrere, nicht gleiche Zufallszahlen erzeugen (Lottozahlen) | 55 | ||
17 Trigonometrische Funktionen | 57 | ||
18 Temperaturwerte umrechnen (Celsius <-> Fahrenheit) | 57 | ||
19 Fakultät berechnen | 58 | ||
20 Mittelwert berechnen | 60 | ||
21 Zinseszins berechnen | 61 | ||
22 Komplexe Zahlen | 63 | ||
23 Vektoren | 73 | ||
24 Matrizen | 79 | ||
25 Gleichungssysteme lösen | 91 | ||
26 Große Zahlen beliebiger Genauigkeit | 92 | ||
Strings | 96 | ||
27 In Strings suchen | 96 | ||
28 In Strings einfügen und ersetzen | 99 | ||
29 Strings zerlegen | 101 | ||
30 Strings zusammenfügen | 102 | ||
31 Strings nach den ersten n Zeichen vergleichen | 103 | ||
32 Zeichen (Strings) vervielfachen | 107 | ||
33 Strings an Enden auffüllen (Padding) | 108 | ||
34 Whitespace am String-Anfang oder -Ende entfernen | 111 | ||
35 Arrays in Strings umwandeln | 112 | ||
36 Strings in Arrays umwandeln | 114 | ||
37 Zufällige Strings erzeugen | 117 | ||
38 Wortstatistik erstellen | 119 | ||
Datum und Uhrzeit | 122 | ||
39 Aktuelles Datum abfragen | 122 | ||
40 Bestimmtes Datum erzeugen | 124 | ||
41 Datums-/Zeitangaben formatieren | 126 | ||
42 Datumseingaben einlesen und auf Gültigkeit prüfen | 129 | ||
43 Datumswerte vergleichen | 130 | ||
44 Differenz zwischen zwei Datumswerten berechnen | 132 | ||
45 Differenz zwischen zwei Datumswerten in Jahren, Tagen und Stunden berechnen | 133 | ||
46 Differenz zwischen zwei Datumswerten in Tagen berechnen | 139 | ||
47 Tage zu einem Datum addieren/subtrahieren | 140 | ||
48 Datum in Julianischem Kalender | 141 | ||
49 Umrechnen zwischen Julianischem und Gregorianischem Kalender | 142 | ||
50 Ostersonntag berechnen | 143 | ||
51 Deutsche Feiertage berechnen | 147 | ||
52 Ermitteln, welchen Wochentag ein Datum repräsentiert | 157 | ||
53 Ermitteln, ob ein Tag ein Feiertag ist | 158 | ||
54 Ermitteln, ob ein Jahr ein Schaltjahr ist | 159 | ||
55 Alter aus Geburtsdatum berechnen | 160 | ||
56 Aktuelle Zeit abfragen | 162 | ||
57 Zeit in bestimmte Zeitzone umrechnen | 163 | ||
58 Zeitzone erzeugen | 164 | ||
59 Differenz zwischen zwei Uhrzeiten berechnen | 167 | ||
60 Differenz zwischen zwei Uhrzeiten in Stunden, Minuten, Sekunden berechnen | 168 | ||
61 Präzise Zeitmessungen (Laufzeitmessungen) | 171 | ||
62 Uhrzeit einblenden | 173 | ||
System | 178 | ||
63 Umgebungsvariablen abfragen | 178 | ||
64 Betriebssystem und Java-Version bestimmen | 179 | ||
65 Informationen zum aktuellen Benutzer ermitteln | 180 | ||
66 Zugesicherte Umgebungsvariablen | 181 | ||
67 System-Umgebungsinformationen abrufen | 182 | ||
68 INI-Dateien lesen | 183 | ||
69 INI-Dateien schreiben | 186 | ||
70 INI-Dateien im XML-Format schreiben | 187 | ||
71 Externe Programme ausführen | 188 | ||
72 Verfügbaren Speicher abfragen | 191 | ||
73 Speicher für JVM reservieren | 192 | ||
74 DLLs laden | 192 | ||
75 Programm für eine bestimmte Zeit anhalten | 196 | ||
76 Timer verwenden | 197 | ||
77 TimerTasks gesichert regelmäßig ausführen | 199 | ||
78 Nicht blockierender Timer | 200 | ||
79 Timer beenden | 201 | ||
80 Auf die Windows-Registry zugreifen | 201 | ||
81 Abbruch der Virtual Machine erkennen | 206 | ||
Ein- und Ausgabe (IO) | 210 | ||
82 Von der Konsole (Standardeingabe) lesen | 210 | ||
83 Auf die Konsole (Standardausgabe) schreiben | 211 | ||
84 Standardein- und -ausgabe umleiten | 212 | ||
85 Konsolenanwendungen vorzeitig abbrechen | 216 | ||
86 Fortschrittsanzeige für Konsolenanwendungen | 216 | ||
87 Konsolenmenüs | 219 | ||
88 Automatisch generierte Konsolenmenüs | 222 | ||
89 Konsolenausgaben in Datei umleiten | 227 | ||
90 Kommandozeilenargumente auswerten | 227 | ||
91 Leere Verzeichnisse und Dateien anlegen | 229 | ||
92 Datei- und Verzeichniseigenschaften abfragen | 231 | ||
93 Temporäre Dateien anlegen | 234 | ||
94 Verzeichnisinhalt auflisten | 235 | ||
95 Dateien und Verzeichnisse löschen | 236 | ||
96 Dateien und Verzeichnisse kopieren | 238 | ||
97 Dateien und Verzeichnisse verschieben/umbenennen | 241 | ||
98 Textdateien lesen und schreiben | 242 | ||
99 Textdatei in String einlesen | 244 | ||
100 Binärdateien lesen und schreiben | 246 | ||
101 Random Access (wahlfreier Zugriff) | 247 | ||
102 Dateien sperren | 253 | ||
103 CSV-Dateien einlesen | 255 | ||
104 CSV-Dateien in XML umwandeln | 262 | ||
105 ZIP-Archive lesen | 265 | ||
106 Excel-Dateien schreiben und lesen | 268 | ||
107 PDF-Dateien erzeugen | 273 | ||
GUI | 282 | ||
108 GUI-Grundgerüst | 282 | ||
109 Fenster (und Dialoge) zentrieren | 287 | ||
110 Fenstergröße festlegen (und gegebenenfalls fixieren) | 290 | ||
111 Minimale Fenstergröße sicherstellen | 291 | ||
112 Bilder als Fensterhintergrund | 293 | ||
113 Komponenten zur Laufzeit instanzieren | 295 | ||
114 Komponenten und Ereignisbehandlung | 298 | ||
115 Aus Ereignismethoden auf Fenster und Komponenten zugreifen | 305 | ||
116 Komponenten in Fenster (Panel) zentrieren | 307 | ||
117 Komponenten mit Rahmen versehen | 310 | ||
118 Komponenten mit eigenem Cursor | 313 | ||
119 Komponenten mit Kontextmenü verbinden | 314 | ||
120 Komponenten den Fokus geben | 317 | ||
121 Die Fokusreihenfolge festlegen | 318 | ||
122 Fokustasten ändern | 321 | ||
123 Eingabefelder mit Return verlassen | 324 | ||
124 Dialoge mit Return (oder Esc) verlassen | 325 | ||
125 Transparente Schalter und nichttransparente Labels | 327 | ||
126 Eingabefeld für Währungsangaben (inklusive InputVerifier) | 331 | ||
127 Eingabefeld für Datumsangaben (inklusive InputVerifier) | 337 | ||
128 Drag-and-Drop für Labels | 342 | ||
129 Datei-Drop für JTextArea-Komponenten (eigener TransferHandler) | 344 | ||
130 Anwendungssymbol einrichten | 351 | ||
131 Symbole für Symbolleisten | 352 | ||
132 Menüleiste (Symbolleiste) aus Ressourcendatei aufbauen | 353 | ||
133 Befehle aus Menü und Symbolleiste zur Laufzeit aktivieren und deaktivieren | 365 | ||
134 Menü- und Symbolleiste mit Aktionen synchronisieren | 365 | ||
135 Statusleiste einrichten | 372 | ||
136 Hinweistexte in Statusleiste | 377 | ||
137 Dateien mit Datei-Dialog (inklusive Filter) öffnen | 380 | ||
138 Dateien mit Speichern-Dialog speichern | 386 | ||
139 Unterstützung für die Zwischenablage | 393 | ||
140 Text drucken | 395 | ||
141 Editor-Grundgerüst | 401 | ||
142 Look&Feel ändern | 402 | ||
Grafik und Multimedia | 406 | ||
143 Mitte der Zeichenfläche ermitteln | 406 | ||
144 Zentrierter Text | 407 | ||
145 In den Rahmen einer Komponente zeichnen | 409 | ||
146 Zeichnen mit unterschiedlichen Strichstärken und -stilen | 412 | ||
147 Zeichnen mit Füllmuster und Farbverläufen | 414 | ||
148 Zeichnen mit Transformationen | 417 | ||
149 Verfügbare Schriftarten ermitteln | 420 | ||
150 Dialog zur Schriftartenauswahl | 421 | ||
151 Text mit Schattenwurf zeichnen | 424 | ||
152 Freihandzeichnungen | 426 | ||
153 Bilder laden und anzeigen | 429 | ||
154 Bilder pixelweise bearbeiten (und speichern) | 439 | ||
155 Bilder drehen | 443 | ||
156 Bilder spiegeln | 445 | ||
157 Bilder in Graustufen darstellen | 446 | ||
158 Audiodateien abspielen | 448 | ||
159 Videodateien abspielen | 451 | ||
160 Torten-, Balken- und X-Y-Diagramme erstellen | 455 | ||
Reguläre Ausdrücke und Pattern Matching | 462 | ||
161 Syntax regulärer Ausdrücke | 462 | ||
162 Überprüfen auf Existenz | 465 | ||
163 Alle Treffer zurückgeben | 467 | ||
164 Mit regulären Ausdrücken in Strings ersetzen | 468 | ||
165 Anhand von regulären Ausdrücken zerlegen | 469 | ||
166 Auf Zahlen prüfen | 471 | ||
167 E-Mail-Adressen auf Gültigkeit prüfen | 474 | ||
168 HTML-Tags entfernen | 476 | ||
169 RegEx für verschiedene Daten | 479 | ||
Datenbanken | 482 | ||
170 Datenbankverbindung herstellen | 482 | ||
171 Connection-Pooling | 484 | ||
172 SQL-Befehle SELECT, INSERT, UPDATE und DELETE durchführen | 486 | ||
173 Änderungen im ResultSet vornehmen | 489 | ||
174 PreparedStatements ausführen | 490 | ||
175 Stored Procedures ausführen | 491 | ||
176 BLOB- und CLOB-Daten | 493 | ||
177 Mit Transaktionen arbeiten | 496 | ||
178 Batch-Ausführung | 497 | ||
179 Metadaten ermitteln | 499 | ||
180 Datenbankzugriffe vom Applet | 502 | ||
Netzwerke und E-Mail | 506 | ||
181 IP-Adressen ermitteln | 506 | ||
182 Erreichbarkeit überprüfen | 507 | ||
183 Status aller offenen Verbindungen abfragen | 510 | ||
184 E-Mail senden mit JavaMail | 513 | ||
185 E-Mail mit Authentifizierung versenden | 516 | ||
186 HTML-E-Mail versenden | 518 | ||
187 E-Mail als multipart/alternative versenden | 521 | ||
188 E-Mail mit Dateianhang versenden | 524 | ||
189 E-Mails abrufen | 526 | ||
190 Multipart-E-Mails abrufen und verarbeiten | 531 | ||
191 URI - Textinhalt abrufen | 535 | ||
192 URI - binären Inhalt abrufen | 536 | ||
193 Senden von Daten an eine Ressource | 538 | ||
194 Mini-Webserver | 540 | ||
XML | 546 | ||
195 Was ist XML? | 546 | ||
196 Regeln für XML | 546 | ||
197 Dokumentzentriert vs. datenzentriert | 548 | ||
198 Wichtige, auf XML basierende Standards | 548 | ||
199 Vorteile von XML | 549 | ||
200 Verschiedene Ausprägungen eines Tags | 549 | ||
201 Attribute | 550 | ||
202 Zeichenketten in XML verwenden | 551 | ||
203 Kommentare | 552 | ||
204 Namensräume | 552 | ||
205 CDATA-Bereiche | 553 | ||
206 XML-Parser und verwendetes Beispiel-Dokument | 553 | ||
207 XML parsen mit SAX | 554 | ||
208 XML parsen mit DOM | 557 | ||
209 XML-Dokumente auf Gültigkeit prüfen | 560 | ||
210 XML-Dateien aus einer Zeichenkette erzeugen | 563 | ||
211 XML-Dateien von Programm erzeugen lassen | 564 | ||
212 Erzeugtes XML-Dokument in System.out schreiben | 566 | ||
213 Speichern einer Document-Instanz in eine Datei | 568 | ||
214 XML mit XSLT transformieren | 570 | ||
Internationalisierung | 574 | ||
215 Lokale einstellen | 574 | ||
216 Standardlokale ändern | 577 | ||
217 Verfügbare Lokalen ermitteln | 578 | ||
218 Lokale des Betriebssystems ändern | 582 | ||
219 Strings vergleichen | 584 | ||
220 Strings sortieren | 585 | ||
221 Datumsangaben parsen und formatieren | 586 | ||
222 Zahlen parsen und formatieren | 589 | ||
223 Währungsangaben parsen und formatieren | 590 | ||
224 Ressourcendateien anlegen und verwenden | 592 | ||
225 Ressourcendateien für verschiedene Lokale erzeugen | 596 | ||
226 Ressourcendatei für die Lokale des aktuellen Systems laden | 598 | ||
227 Ressourcendatei für eine bestimmte Lokale laden | 599 | ||
Threads | 604 | ||
228 Threads verwenden | 604 | ||
229 Threads ohne Exception beenden | 605 | ||
230 Eigenschaften des aktuellen Threads | 608 | ||
231 Ermitteln aller laufenden Threads | 609 | ||
232 Priorität von Threads | 610 | ||
233 Verwenden von Thread-Gruppen | 612 | ||
234 Iterieren über Threads und Thread-Gruppen einer Thread-Gruppe | 613 | ||
235 Thread-Synchronisierung mit synchronized (Monitor) | 616 | ||
236 Thread-Synchronisierung mit wait() und notify() | 617 | ||
237 Thread-Synchronisierung mit Semaphoren | 619 | ||
238 Thread-Kommunikation via Pipes | 621 | ||
239 Thread-Pooling | 623 | ||
240 Thread-globale Daten als Singleton-Instanzen | 628 | ||
Applets, Servlets und JSPs | 632 | ||
241 Applets: Grundgerüst | 632 | ||
242 Applets: Parameter von Webseite übernehmen | 638 | ||
243 Applets: Bilder laden und Diashow erstellen | 640 | ||
244 Applets: Sounds laden | 646 | ||
245 Applets: Mit JavaScript auf Applet-Methoden zugreifen | 649 | ||
246 Applets: Datenaustausch zwischen Applets einer Webseite | 652 | ||
247 Applets: Laufschrift (Ticker) | 654 | ||
248 Application- oder Web-Container installieren | 657 | ||
249 HttpServlets | 657 | ||
250 Servlets: Informationen abfragen | 661 | ||
251 Servlets: HTML-Seiten generieren | 664 | ||
252 Servlets: alternative Inhaltstypen | 666 | ||
253 Servlets: Formulardaten verarbeiten | 670 | ||
254 Servlets: Cookies | 675 | ||
255 Servlets: Datei-Upload | 681 | ||
256 JavaServer Pages | 685 | ||
257 JSP: Weiterleitungen | 685 | ||
258 JSP: Formulardaten verarbeiten | 687 | ||
259 JSP: Cookies | 689 | ||
260 JSP: Besucherzähler (Counter) | 695 | ||
261 JSP: Kontaktformular | 697 | ||
Objekte, Collections, Design-Pattern | 702 | ||
262 Objekte in Strings umwandeln - toString() überschreiben | 702 | ||
263 Objekte kopieren - clone() überschreiben | 704 | ||
264 Objekte und Hashing - hashCode() überschreiben | 710 | ||
265 Objekte vergleichen - equals() überschreiben | 716 | ||
266 Objekte vergleichen - Comparable implementieren | 720 | ||
267 Objekte serialisieren und deserialisieren | 726 | ||
268 Arrays in Collections umwandeln | 731 | ||
269 Collections in Arrays umwandeln | 732 | ||
270 Collections sortieren und durchsuchen | 733 | ||
271 Collections synchronisieren | 737 | ||
272 Design-Pattern: Singleton | 739 | ||
273 Design-Pattern: Adapter (Wrapper, Decorator) | 742 | ||
274 Design-Pattern: Factory-Methoden | 750 | ||
Sonstiges | 754 | ||
275 Arrays effizient kopieren | 754 | ||
276 Globale Daten in Java? | 755 | ||
277 Testprogramme schreiben | 758 | ||
278 Debug-Stufen definieren | 762 | ||
279 Code optimieren | 765 | ||
280 Jar-Archive erzeugen | 766 | ||
281 Programme mit Ant kompilieren | 768 | ||
282 Ausführbare Jar-Dateien mit Ant erstellen | 774 | ||
283 Reflection: Klasseninformationen abrufen | 774 | ||
284 Reflection: Klasseninformationen über .class-Datei abrufen | 779 | ||
285 Reflection: Klassen instanzieren | 782 | ||
286 Reflection: Methode aufrufen | 785 | ||
287 Kreditkartenvalidierung | 787 | ||
288 Statistik | 790 | ||
Teil III Anhang | 796 | ||
Tabellen | 798 | ||
Java | 798 | ||
Swing | 801 | ||
Reguläre Ausdrücke | 809 | ||
SQL | 815 | ||
Lokale | 816 | ||
Die Java-SDK-Tools | 818 | ||
javac - der Compiler | 818 | ||
java - der Interpreter | 820 | ||
jar - Archive erstellen | 822 | ||
javadoc - Dokumentationen erstellen | 824 | ||
jdb - der Debugger | 825 | ||
Weitere Tools | 827 | ||
Stichwortverzeichnis | 828 | ||
Numerics | 828 | ||
A | 828 | ||
B | 828 | ||
C | 829 | ||
D | 829 | ||
E | 831 | ||
F | 831 | ||
G | 832 | ||
H | 832 | ||
I | 833 | ||
J | 833 | ||
K | 834 | ||
L | 834 | ||
M | 834 | ||
N | 835 | ||
O | 835 | ||
P | 835 | ||
R | 836 | ||
S | 837 | ||
T | 838 | ||
U | 839 | ||
V | 839 | ||
W | 840 | ||
X | 840 | ||
Z | 840 | ||
Mehr eBooks bei www.ciando.com | 0 |