XmlWriter.WriteBinHex(Byte[], Int32, Int32) Méthode

Définition

En cas de substitution dans une classe dérivée, code les octets binaires spécifiés au format BinHex et écrit le texte obtenu.When overridden in a derived class, encodes the specified binary bytes as BinHex and writes out the resulting text.

public:
 virtual void WriteBinHex(cli::array <System::Byte> ^ buffer, int index, int count);
public:
 abstract void WriteBinHex(cli::array <System::Byte> ^ buffer, int index, int count);
public virtual void WriteBinHex (byte[] buffer, int index, int count);
public abstract void WriteBinHex (byte[] buffer, int index, int count);
abstract member WriteBinHex : byte[] * int * int -> unit
override this.WriteBinHex : byte[] * int * int -> unit
abstract member WriteBinHex : byte[] * int * int -> unit
Public Overridable Sub WriteBinHex (buffer As Byte(), index As Integer, count As Integer)
Public MustOverride Sub WriteBinHex (buffer As Byte(), index As Integer, count As Integer)

Paramètres

buffer
Byte[]

Tableau d'octets à encoder.Byte array to encode.

index
Int32

Emplacement dans la mémoire tampon indiquant le début des octets à écrire.The position in the buffer indicating the start of the bytes to write.

count
Int32

Nombre d'octets à écrire.The number of bytes to write.

Exceptions

buffer a la valeur null.buffer is null.

Le Writer est fermé ou a l'état d'erreur.The writer is closed or in error state. - ou --or-

Une méthode XmlWriter a été appelée avant la fin d’une opération asynchrone précédente.An XmlWriter method was called before a previous asynchronous operation finished. Dans ce cas, l’exception InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

index ou count est inférieur à zéro.index or count is less than zero.

- ou --or- La longueur de la mémoire tampon moins index est inférieure à count.The buffer length minus index is less than count.

Exemples

L’exemple suivant utilise la WriteBinHex méthode pour écrire des BinHex données.The following example uses the WriteBinHex method to write BinHex data. Les BinHex données sont incorporées dans un <image> élément.The BinHex data is embedded within an <image> element.


public static void BinHexEncodeImageFile() {

  int bufferSize = 1000;
  byte[] buffer = new byte[bufferSize];
  int readBytes = 0;
    
  using (XmlWriter writer = XmlWriter.Create("output.xml")) {
       FileStream inputFile = new FileStream(@"C:\artFiles\sunset.jpg", FileMode.OpenOrCreate,
                                                                    FileAccess.Read, FileShare.Read);
       writer.WriteStartDocument();
       writer.WriteStartElement("image");
       BinaryReader br = new BinaryReader(inputFile);
       Console.WriteLine("\r\nWriting BinHex data...");

       do {
          readBytes = br.Read(buffer, 0, bufferSize);
          writer.WriteBinHex(buffer, 0, readBytes);
       } while (bufferSize <= readBytes);
       br.Close();

    writer.WriteEndElement();// </image>
    writer.WriteEndDocument();
  }
}
Public Shared Sub BinHexEncodeImageFile() 
    
    Dim bufferSize As Integer = 1000
    Dim buffer(bufferSize) As Byte
    Dim readBytes As Integer = 0
    
    Using writer As XmlWriter = XmlWriter.Create("output.xml")

            Dim inputFile As New FileStream("C:\artFiles\sunset.jpg", FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read)
            writer.WriteStartDocument()
            writer.WriteStartElement("image")
            Dim br As New BinaryReader(inputFile)
            Console.WriteLine(vbCr + vbLf + "Writing BinHex data...")
            
            Do
                readBytes = br.Read(buffer, 0, bufferSize)
                writer.WriteBinHex(buffer, 0, readBytes)
            Loop While bufferSize <= readBytes
            br.Close()

        writer.WriteEndElement() ' </image>
        writer.WriteEndDocument()

    End Using
 
End Sub

Remarques

Pour obtenir la version asynchrone de cette méthode, consultez WriteBinHexAsync .For the asynchronous version of this method, see WriteBinHexAsync.

S’applique à