다음을 통해 공유


XmlWriter.WriteBinHex(Byte[], Int32, Int32) 메서드

정의

파생 클래스에서 재정의되면 지정된 이진 바이트를 BinHex로 인코딩하고 결과 텍스트를 작성합니다.

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)

매개 변수

buffer
Byte[]

인코딩할 바이트 배열입니다.

index
Int32

쓸 바이트의 시작을 나타내는 버퍼 내의 위치입니다.

count
Int32

쓸 바이트 수입니다.

예외

buffer이(가) null인 경우

작성기가 닫혀 있거나 오류가 발생한 경우 또는

이전 비동기 작업이 완료되기 전에 XmlWriter 메서드가 호출되었습니다. 이 경우 “비동기 작업이 이미 진행 중입니다.” 메시지를 나타내며 InvalidOperationException이 throw됩니다.

index 또는 count가 0보다 작습니다.

또는 버퍼 길이에서 index를 빼면 count보다 작습니다.

예제

다음 예제에서는 메서드를 WriteBinHex 사용하여 데이터를 작성 BinHex 합니다. BinHex 데이터는 요소 내에 <image> 포함됩니다.


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

설명

이 메서드의 비동기 버전은 다음을 참조하세요 WriteBinHexAsync.

적용 대상