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

Definición

Cuando se invalida en una clase derivada, codifica los bytes binarios especificados como BinHex y escribe el texto resultante.

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)

Parámetros

buffer
Byte[]

Matriz de bytes que se va a codificar.

index
Int32

Posición en el búfer que indica el inicio de los bytes que se van a escribir.

count
Int32

Número de bytes que se van a escribir.

Excepciones

buffer es null.

El escritor está cerrado o en estado de error. O bien

Se llamó a un XmlWriter método antes de que finalice una operación asincrónica anterior. En este caso, InvalidOperationException se produce con el mensaje "Una operación asincrónica ya está en curso".

index o count es menor que cero.

O bien

La longitud del búfer menos index es menor que count.

Ejemplos

En el ejemplo siguiente se usa el WriteBinHex método para escribir BinHex datos. Los BinHex datos se insertan dentro de un <image> elemento .


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

Comentarios

Para obtener la versión asincrónica de este método, vea WriteBinHexAsync.

Se aplica a