XmlWriter.WriteBinHex(Byte[], Int32, Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Při přepsání v odvozené třídě kóduje zadané binární bajty jako BinHex a zapíše výsledný 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)
Parametry
- buffer
- Byte[]
Bajtové pole, které se má zakódovat.
- index
- Int32
Pozice ve vyrovnávací paměti označující začátek bajtů, které se mají zapisovat.
- count
- Int32
Počet bajtů k zápisu.
Výjimky
buffer je null.
Zapisovač je zavřený nebo je v chybovém stavu. nebo
Před XmlWriter dokončením předchozí asynchronní operace byla volána metoda. V tomto případě InvalidOperationException je vyvolán zpráva "Asynchronní operace už probíhá".
index nebo count je menší než nula.
nebo
Délka vyrovnávací paměti je menší index než count.
Příklady
Následující příklad používá metodu WriteBinHex k zápisu BinHex dat. Data BinHex jsou vložena do elementu <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
Poznámky
Asynchronní verzi této metody naleznete v tématu WriteBinHexAsync.