Wie lese ich Teile von 5Megabyte in einer Binärdatei in C#?lesen Chunks Binärdatei C#
Für jeden Brocken muss ich etwas tun ... Bitte helfen Sie mir!
Wie lese ich Teile von 5Megabyte in einer Binärdatei in C#?lesen Chunks Binärdatei C#
Für jeden Brocken muss ich etwas tun ... Bitte helfen Sie mir!
Sie können eine FileStream
verwenden, um eine Binärdatei zu lesen und dann Ihre Verarbeitung darauf durchzuführen. Hier ist ein Beispiel:
using (var inFileSteam = new FileStream(@"C:\path\to\file.bin", FileMode.Open))
{
byte[] buffer = new byte[5 * 1024 * 1024]; // 5MB in bytes is 5 * 2^20
int bytesRead = inFileSteam.Read(buffer, 0, buffer.Length);
while (bytesRead > 0)
{
for (int i = 0; i < bytesRead; i++)
{
if (buffer[i] == 0x28) // 0010 1000 in binary
{
// replace for example or any other manipulation
buffer[i] = 0x00;
}
}
outFileStream.Write(buffer, 0, bytesRead);
bytesRead = inFileSteam.Read(buffer, 0, buffer.Length);
}
}
Danke! Aber eigentlich funktioniert das nicht, wenn ich zum Beispiel '0101000' (Random ich weiß nicht, ob das existiert oder nicht) mit 'A' oder 'B' ersetzen soll, oder? – Ben
@Ben sehe meine aktualisierte Antwort. Sie müssen eine andere Datei zum Schreiben haben, wenn Sie fertig sind, können Sie die Eingabedatei durch die Ausgabedatei ersetzen, wenn Sie möchten. – Nasreddine
Wenn es eine Binärdatei ist, dann konvertieren Sie es besser nicht in eine Zeichenfolge. – Nasreddine
Ja sorry ... Meine Schuld. Ich muss eine Datei .bin lesen und dann einige Bytes durch andere Bytes ersetzen ... Vielen Dank! @Nasreddine – Ben