IFT 1170, Hiver 2005
Chapitre 9 : Interfaces, fichiers binaires
Cas 3 de Java : fichiers binaires
Java utilise le terme Reader/Writer pour désigner les suites de
caractères dans le traitement des fichiers de type texte. Pour la
lecture d’un fichier texte, on lit souvent ligne par ligne (avec
Entree.readLine()) et extraire des sous-chaînes de la chaîne lue puis
faire la conversion en type voulu (exemple, avec Integer.parseInt(sous-
chaîne)).
Contenu d’un fichier de type texte :
Je suis une ligne
Je suis une autre ligne
etc ….
Je suis la dernière ligne
Le Java peut détecter les caractères fin de ligne et fin de fichier.
Java utilise le terme STREAM (flux, flot) pour désigner des suites
d'octets (bytes) dans le traitement des fichiers binaires :
Contenu d’un fichier binaire :
Il y a InputStream pour la lecture et OutputStream pour l'écriture.
Dans le cours IFT 1176, on traite aussi les fichiers à accès direct.
Pour localiser un fichier à écrire son contenu, Java combine 2 objets
des deux classes DataOutputStream et FileOutputStream :
DataOutputStream aCreer = new DataOutputStream
( new FileOutputStream(nomFile));
On implémente et utilise des méthodes de l’interface DataOutput :
public abstract void writeInt(int valeur);
public abstract void writeChar(int v);
public abstract void writeDouble(double val);
etc ….
pour écrire un entier, un caractère ou un réel dans le fichier binaire.
public class DataOutputStream
extends FilterOutputStream
implements DataOutput
Dans ce cas ci, l’interface DataOutput est un groupe de méthodes
abstraites indiquant que DataOutputStream est dotée d’un comportement
supplémentaire par rapport aux méthodes héritées de sa super-classe
FilterOutputStream.