Vue d'ensemble des flux en Java

Les flux permettent de lire ou d'écrire de l'information depuis et vers n'importe quelle source de données capable d'émettre une suite d'octets. Ces sources et destinations de nos informations peuvent être des fichiers, des connexions réseau, ou même des blocs en mémoire.

Le canal par lequel nous pouvons lire une suite d'octets se nomme le « flux d'entrée » (en anglais, “input stream”), et le canal par lequel nous pouvons écrire des suites d'octets est le « flux de sortie » (en anglais, “output stream”)

Nous devons distinguer deux grandes catégorie de flux :

  • “Byte streams”3 : les flux d'octets permettent la manipulation de tout caractère encodé sur 8 bits (1 octet, d'où le nom byte stream). Exemple : ISO-Latin-1.
  • “Character streams”4 : les flux de caractères nous permettent la manipulation des caractères codés en UNICODE, sur 16 bits (2 octets). Les classes abstraites java.io.Reader et java.io.Writer possèdent donc les opérations nécessaires au traitement d'UNICODE.

Ces classes se trouvent dans le package java.IO
Toutes les méthodes sur les flots peuvent renvoyer System.IO.IOException.

Exemples de flux de sources de données

Java propose une classe adaptée à la manipulation de chaque type de flux de données (fichier, chaîne de caractères, tableau d'octets, pipeline), mais il existe aussi un ensemble de classes de filtres dérivées des classes abstraites java.io.FilterInputStream et java.io.FilterOutputStream qui peuvent s'utiliser ensemble pour simplifier ou optimiser l'accès aux flux. Nous pouvons manipuler les flux entrants ou sortants avec les mêmes classes, quelque soit le type de source de données, contrairement au C où il existe des fonctions différentes suivant le type de source de données (comme scanf(), fscanf(), sscanf()).

  • un tableau d'octets (classes java.io.ByteArrayInputStream et java.io.ByteArrayOutputStream).
  • une chaîne de caractères (classe java.io.StringBufferInputStream).
  • un fichier (classes java.io.FileInputStream et java.io.FileOutputStream).
  • un pipe (classes java.io.PipedInputStream et java.io.PipedOutputStream).
  • l'entrée et les sorties standards (champs System.in, System.out et System.err ou un des java.io.FileDescriptor : FileDescriptor.in, FileDescriptor.out et FileDescriptor.err).
  • une URL
  • un socket

Inhoudsopgave Haut

Byte streams

Inhoudsopgave Haut

Characters streams

Nederlandse vertaling

U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.

Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.

Bij voorbaat dank.

Document heeft de 24/06/2005 gemaakt, de laatste keer de 02/08/2019 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-streams.html

De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.

Notes

  1.  flux d'entrée : komt overeen met “input stream” en anglais

  2.  flux de sortie : komt overeen met “output stream” en anglais

  3.  Byte streams : komt overeen met « flux d'octets » en français

  4.  Character streams : komt overeen met « flux de caractères » en français

  5.  Uniform Resource Locator : komt overeen met « localisateur uniforme de ressource » en français

  6.  URL : “Uniform Resource Locator” (en français, « localisateur uniforme de ressource »)

Inhoudsopgave Haut