IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Penser en Java 2nde édition - Sommaire |  Préface |  Avant-propos | Chapitre : 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 |  Annexe : A B C D  | Tables des matières - Thinking in Java

  Chapitre 11 - Le système d’E/S de Java

pages : 1 2 3 4 5 6 7 8 9 10 

Les solutions aux exercices choisis peuvent être trouvées dans le document électronique The Thinking in Java Annotated Solution Guide, disponible pour un faible coût sur www.BruceEckel.com.

  1. Ouvrez un fichier de manière à pouvoir lire le fichier une ligne à la fois. Lisez chaque ligne comme un String et placez cet objet String dans un . Affichez toutes les lignes dans le LinkedList en ordre inverse.
  2. Modifiez l'exercice 1 pour que le nom du fichier à lire soit entré comme argument de ligne de commande.
  3. Modifiez l'exercice 2 pour ouvrir aussi un fichier texte dans lequel vous pourrez écrire. Écrivez les lignes dans l'ArrayList, avec les numéros de ligne (ne pas essayer d'utiliser la classe « LineNumber »), vers le fichier.
  4. Modifiez l'exercice 2 pour imposer les majuscules à toutes les lignes de l'ArrayList et envoyer les résultats à System.out.
  5. Modifiez l'exercice 2 pour qu'il prenne un argument de ligne de commande supplémentaire des mots à trouver dans le fichier. Afficher toutes les lignes dans lesquelles on trouve le mot.
  6. Modifier DirList.java pour que le FilenameFilter ouvre en fait chaque fichier et reçoive le fichier sur la base de n'importe quel argument tiré de la ligne de commande existant dans ce fichier.
  7. Créez une classe nommée SortedDirList avec un constructeur qui prend l'information de chemin de fichier et construit une liste triée du répertoire à partir des fichiers du répertoire. Créez deux méthodes list() surchargées avec un constructeur qui présenterons l'une ou l'autre la liste complète ou un sous-ensemble de la liste basée sur un argument. Ajoutez une méthode size() qui prendra un nom de fichier et présentera la taille de ce fichier.
  8. Modifiez WordCount.java pour qu'il produise à la place un classement alphabétique, utilisant l'outil du Chapitre 9.
  9. Modifiez WordCount.java pour qu'il utilise une classe contenant un String et une valeur de numérotation pour stocker chaque différent mot, et un Set de ces objets pour maintenir la liste de ces mots.
  10. Modifiez IOStreamDemo.java afin qu'il utilise LineNumberInputStream pour garder trace du compte de ligne. Notez qu'il est plus facile de garder seulement les traces de manière programmatique.
  11. En commençant avec la partie 4 de IOStreamDemo.java, écrivez un programme qui compare les performances à l'écriture d'un fichier en utilisant une E/S mise en mémoire tampon et l'autre non.
  12. Modifiez la partie 5 d'IOStreamDemo.java pour éliminer les espaces dans la ligne produite par le premier appel à in5br.readLine(). Faites cela en employant une boucle while et readChar().
  13. Réparez le programme CADState.java comme décrit dans le texte.
  14. Dans Blips.java, copiez le fichier et renommez le en BlipCheck.java et renommez la classe Blip2 en BlipCheck (rendez la public et enlevez la portée publique de la classe Blips dans le processus). Enlevez les marques //! dans le fichier et lancez le programme incluant les mauvaises lignes. Ensuite, enlevez les commentaires du constructeur par défaut de BlipCheck. Lancez le et expliquez pourquoi il fonctionne. Notez qu'après la compilation, vous devrez exécuter le programme avec « java Blips » parce que la méthode main() est encore dans Blips.
  15. Dans Blip3.java, enlevez les commentaires des deux lignes après les phrases « Vous devez faire ceci : » et lancez le programme. Expliquez le résultat et pourquoi il diffère de quand les deux lignes sont dans le programme.
  16. (Intermédiaire) Dans le chapitre 8, repérez l'exemple GreenhouseControls.java, qui se compose de trois fichiers. Dans GreenhouseControls.java, la classe interne Restart() contient un jeu d'événements codé durement. Changez le programme pour qu'il lise les événements et leurs heures relatives depuis un fichier texte. (Défi : Utilisez une méthode de fabrique d'un design pattern pour construire les événements — voir Thinking in Patterns with Java, télechargeable à www.BruceEckel.com.)

[57] Design Patterns, Erich Gamma et al., Addison-Wesley 1995.

[58] XML est un autre moyen de résoudre le problème de déplacer les donnée entre différentes plates-formes informatiques, et ne dépend pas du fait d'avoir Java sur toutes les plate-formes. Cependant, des outils Java existent qui supportent XML.

[59] Le chapitre 13 montre une solution même plus commode pour cela : un programme GUI avec une zone de texte avec ascenseur.

Ce livre a été écrit par Bruce Eckel ( télécharger la version anglaise : Thinking in java )
Ce chapitre a été traduit par Armel Fortun ( groupe de traduction )
télécharger la version francaise (PDF) | Commandez le livre en version anglaise (amazon) | télécharger la version anglaise
pages : 1 2 3 4 5 6 7 8 9 10 
Penser en Java 2nde édition - Sommaire |  Préface |  Avant-propos | Chapitre : 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 |  Annexe : A B C D  | Tables des matières - Thinking in Java