Java pour l'informatique industrielle
Chapitre 1. Introduction aux objets
Chapitre 2. Les structures de contrôle
Chapitre 3. Unifier et réutiliser
Chapitre 4. Modèle, Vue et Contrôle
Chapitre 5. Les entrées/sorties
5.1. Les tableaux
5.2. Les flots de caractères
5.3. Les flots d'octets
5.3.1. Les flots de sortie binaires
5.3.2. Les flots d'entrée binaires
5.3.3. Compléments
5.4. Le paquetage java.io
5.5. Java autonome
5.6. Les sockets
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

5.3.2. Les flots d'entrée binaires

La classe java.io.InputStream modélise les flots d'entrée (lecture) d'octets, la classe java.io.FileInputStream est une sous-classe dédiée aux flots dirigés depuis les fichiers binaires. Voici un exemple d'utilisation.

try { // Créé un flot d'entrée depuis le fichier binaire fichier.bin FileInputStream fis = new FileInputStream("fichier.bin"); // Calcule le nombre d'octets disponibles à la lecture int disponible = fis.available(); // Créé un buffer d'octets capable de lire toutes les données à lire byte[] donnees = new byte[disponible]; // Lit les données depuis le flot int nb = fis.read(donnees); // Affiche le nombre d'octets lus System.out.println("Octets disponibles : "+ disponible+". Octets lus:"+nb); // Ferme le flot fis.close(); } catch (Exception ex) { System.err.prinln("Erreur de lecture "+ex); }

La méthode int read(byte[] buffer) essaye de remplir le buffer au maximum. Elle renvoie le nombre d'octets effectivement lus ou -1 si il n'y avait rien à lire.

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante