Exercice 1: Fichiers D Octets: Travaux Pratiques Programmation Orientée Objet Avancée Année 2022/2023
Exercice 1: Fichiers D Octets: Travaux Pratiques Programmation Orientée Objet Avancée Année 2022/2023
Exercice 1: Fichiers D Octets: Travaux Pratiques Programmation Orientée Objet Avancée Année 2022/2023
TP n°5
– Une procédure creerFichier (String nomFic, int nb) qui permet de créer un fichier nomFic
contenant nb entiers (compris entre 0 et 1000) générés aléatoirement. Vous pouvez utiliser la
classe DataOutputStream dont le constructeur accepte en paramètre un objet de type
FileOutputStream. La méthode writeInt(int n) permet d’écrire l’entier n dans le fichier.
– Une procédure lireFichier (String nomFic) qui permet de lire le contenu du fichier créé par
la procédure précédente et affiche son contenu à l’écran. Vous pouvez utiliser la classe
DataInputStream qui permet de lire les entiers à l’aide de la fonction readInt() qui
retourne l’entier lu. Le constructeur de la classe DataInputStream accepte en paramètre un
page n 1
Travaux pratiques Programmation Orientée Objet Avancée année 2022/2023
– Une procédure creerFichier (String nomFic, int nb) qui permet de créer un fichier nomFic
contenant nb objets de type Point (classe vue précédemment). Les coordonnées des points
sont générées aléatoirement. Vous pouvez utiliser la classe ObjectOutputStream dont le
constructeur accepte en paramètre un objet de type FileOutputStream. La méthode
writeObject(Object p) permet d’écrire l’objet passé en paramètre dans le fichier. Il faut que
la classe Point implémente l’interface Serializable.
– Une procédure lireFichier (String nomFic) qui permet de lire le contenu du fichier créé par
la procédure précédente et affiche son contenu à l’écran. Vous pouvez utiliser la classe
ObjectInputStream qui permet de lire les objets à l’aide de la fonction readObject() qui
retourne l’objet lu. L’objet retourné est de type Object, il faut donc penser à faire le
transtypage. Le constructeur de la classe ObjectInputStream accepte en paramètre un objet
de type FileIntputStream. Il faut savoir qu’il faut intercepter deux exceptions :
EOFException et ClassNotFoundException.
page n 2