L'objet Stream fournit les moyens de lire, écrire et gérer un flux d'octets. Ce dernier peut être composé de données textuelles ou binaires et n'est limité que dans la taille par les ressources du système.

Objet_Stream.Propriété | Méthode

Un objet Stream est utilisé pour contenir :

  • les données d'un objet Recordset sauvegardé dans le format XML (eXtensible Markup Language),
  • du texte ou des données binaires compris dans un fichier ou un message,
  • une commande fournie par la propriété CommandStreams de l'objet Command destinée à être exécutée comme une alternative à la propriété Commandtext.

Un objet Stream peut également recevoir des résultats provenant d'un fournisseur OLE DB, autre qu'un objet Recordset, comme du XML par exemple.

Dans des sources de données semi-structurées comme un système de fichiers ou de courriers électroniques, un enregistrement peut avoir un flux de fichier binaire par défaut associées au contenu d'un fichier ou d'un courrier électronique.

Un objet Stream peut être utilisé pour manipuler des champs ou des enregistrements contenant ces flux de données.

Un objet Stream peut être obtenu à partir d'une adresse URL pointant vers un objet qui contient des données binaires ou textuelles. Cet objet peut être un document simple, un objet Record représentant un fichier ou un répertoire.

Un objet Stream par défaut peut être ouvert depuis un objet Record ou Recordset. Il est possible d'obtenir le flux par défaut associé à un enregistrement lorsque l'objet afférent est ouvert, pour éliminer un aller-retour pour l'ouverture du flux.

Les objets Stream, obtenu par instanciation, peuvent être utilisés pour stocker des données au bénéfice d'une application. Différent d'un flux associé à une adresse URL ou du flux par défaut d'un enregistrement, un objet Stream instancié ne possède aucune association avec une source sous-jacente par défaut.

Set Objet_Stream = Server.CreateObject("ADODB.Stream")
Les Propriétés
Propriété
Description
Objet_Stream.Charset = "jeu_de_caractères"
indique le jeu de caractères permettant de convertir le contenu textuel d'un objet Stream.
Objet_Stream.EOS = True | False
indique par une valeur booléenne si la position courante a atteint la fin du flux (End Of Stream).
Objet_Stream.LineSeparator = LineSeparatorEnum
indique le caractère utilisé comme séparateur pour un flux textuel.
Objet_Stream.Mode = ConnectModeEnum
indique les autorisations de modification des données de l'objet Stream.
Objet_Stream.Position = Position
indique par un entier long, la position courante dans l'objet Stream.
Objet_Stream.Size = Taille
indique par un entier long, la taille de l'objet Stream en octets ou en caractères.
Objet_Stream.State = ObjectStateEnum
indique si l'objet est dans un état ouvert ou fermé.
Objet_Stream.Type = StreamTypeEnum
indique le type de données contenues dans l'objet Stream.
Les Méthodes
Méthode
Description
Objet_Stream.Cancel
annule l'exécution de l'appel en attente.
Objet_Stream.Close
ferme un objet ouvert ainsi que tous les objets qui en dépendent.
Objet_Stream.CopyTo Destination_oStream, Nombre_Caractères
copie le nombre de caractères ou d'octets vers un autre objet Stream.
Objet_Stream.Flush
force l'écriture des données du flux dans l'objet sous-jacent.
Objet_Stream.LoadFromFile Fichier
charge le contenu d'un fichier existant dans l'objet Stream.
Objet_Stream.Open Source, ConnectModeEnum,
StreamOpenOptionsEnum, Nom_Utilisateur, Mot_Passe
ouvre un objet Stream afin de manipuler le flux de données binaires ou textuelles.
Objet_Stream.Read(Nombre_Octets)
lit un nombre d'octets spécifiés dans un objet Stream binaire.
Objet_Stream.ReadText(Nombre_Caractères)
lit un nombre de caractères spécifiés dans un objet Stream textuel.
Objet_Stream.SaveToFile Fichier, SaveOptionsEnum
sauvegarde le contenu binaire d'un objet Stream ouvert.
Objet_Stream.SetEOS
place la position courante à la fin du flux.
Objet_Stream.SkipLine
saute une ligne lors de la lecture d'un objet Stream textuel.
Objet_Stream.Stat(StatStgEnum, StatFlag)
retourne un entier représentant une information à propos de l'objet Record.
Objet_Stream.Write Donnée_binaire
écrit des données binaires dans l'objet Stream.
Objet_Stream.WriteText Donnée, StreamWriteEnum
écrit du texte dans un objet Stream.
Exemple [voir]
<html>
  <body>
  <%
      Dim objet_Stream
      Dim Select_Fichier
      Dim adTypeText
      adTypeText = 2
      Select_Fichier = "c:\autoexec.bat"

      set objet_Stream = Server.CreateObject("ADODB.Stream")
      objet_Stream.Open
      objet_Stream.LoadFromFile Select_Fichier
      objet_Stream.Type = adTypeText
      Objet_Stream.Charset = "ISO-8859-1"

      Taille_Fichier = objet_Stream.Size
      Affiche_Contenu= objet_Stream.ReadText

      Response.Write "Fichier : " & Select_Fichier & "<br>"
      Response.Write "Taille : " & Taille_Fichier & " Octets<br>"
      Response.Write "Contenu : " & Affiche_Contenu

      objet_Stream.Close
      set objet_Stream = nothing
  %>
  </body>
</html>