JAVA – Introduction
© Pascal Buguet 15 avril 2017
4
6.1 La classe Object ___________________________________________________________ 134
6.2 Classe abstraite ___________________________________________________________ 135
6.3 Les Interfaces ____________________________________________________________ 141
6.4 Classes incluses ___________________________________________________________ 148
6.5 L'introspection ou la réflexion en Java _________________________________________ 149
6.5.1 Les bases ____________________________________________________________ 149
6.5.2 Plus avant … __________________________________________________________ 151
Chapitre 7 LES EXCEPTIONS ______________________________________________________ 157
7.1 Présentation ______________________________________________________________ 157
7.2 Absence de gestion des exceptions ___________________________________________ 158
7.3 La syntaxe de base ________________________________________________________ 159
7.4 Délégation d'exception _____________________________________________________ 161
7.5 Exception personnalisée ____________________________________________________ 163
7.6 Propagation ______________________________________________________________ 167
7.7 Hiérarchie des Exceptions ___________________________________________________ 169
Chapitre 8 LES ENTREES/SORTIES _________________________________________________ 170
8.1 Le package java.io _________________________________________________________ 170
8.2 La classe File _____________________________________________________________ 172
8.2.1 Gestion de fichiers _____________________________________________________ 173
8.2.2 Gestion de dossiers ____________________________________________________ 174
8.3 Notion de flux _____________________________________________________________ 176
8.4 Les classes associées aux entrées/sorties _______________________________________ 177
8.4.1 InputStream et OutputStream ____________________________________________ 177
8.4.2 Tableau synthétique ____________________________________________________ 178
8.5 Gestion des flux de données _________________________________________________ 179
8.5.1 FileInputStream et FileOutputStream ______________________________________ 179
8.5.1.1 Ecriture d’un fichier de bytes _________________________________________ 179
8.5.1.2 Lecture en mode byte _______________________________________________ 180
8.5.1.3 Lecture et écriture en un seul bloc en mode byte _________________________ 182
8.5.2 DataOutputStream et DataInputStream ____________________________________ 183
8.5.2.1 Filtres des fichiers de données ________________________________________ 183
8.5.2.2 Ecriture d'un fichier de float __________________________________________ 184
8.5.2.3 Lecture d'un fichier de float __________________________________________ 185
8.6 Gestion des flux de caractères _______________________________________________ 186
8.6.1 Reader et Writer _______________________________________________________ 186
8.6.2 FileReader et FileWriter _________________________________________________ 186
8.6.3 BufferedReader, BufferedWriter et PrintWriter _______________________________ 187
8.6.3.1 Filtres des fichiers text ______________________________________________ 187
8.6.3.2 Ecriture d'un fichier text _____________________________________________ 188
8.6.3.3 Lecture d'un fichier text _____________________________________________ 189
8.6.3.4 Ajout dans un fichier text ____________________________________________ 192
Chapitre 9 LA SERIALISATION _____________________________________________________ 193
9.1 Définition ________________________________________________________________ 193
9.2 Technique ________________________________________________________________ 193
Chapitre 10 LES THREADS _______________________________________________________ 198
10.1 Définition ______________________________________________________________ 198
10.2 Syntaxes _______________________________________________________________ 199
10.3 Etat d’un thread _________________________________________________________ 200
10.4 Exemple : deux threads sur la même classe ___________________________________ 201
10.5 Autre exemple : deux threads sur deux classes différentes _______________________ 206
10.6 Priorité ________________________________________________________________ 209
10.7 La gestion aléatoire du temps de sommeil ____________________________________ 211
10.8 Verrouillage : la synchronisation ____________________________________________ 212
10.9 Attente et notification ____________________________________________________ 215
10.10 Exemples de synchronisation et de notification ________________________________ 216
10.11 Communications inter-threads ______________________________________________ 221
10.12 Groupes de thread _______________________________________________________ 223
10.13 Annexe : Implémentation de l’interface Runnable ______________________________ 226