Bytes aus einer Datei auslesen
mit C#:Man kann die Code-Abschnitte auf der linken Seite jeweils "en bloc" kopieren!
Die Operationen in den folgenden Code-Bereichen benötigen "using System.IO;"
Einlesen der ersten 10 Bytes am Anfang der Datei: string filePN = "C:/temp/meinTestFile.mp3"; FileInfo file = new FileInfo(filePN); Stream s1 = file.OpenRead(); s1.Seek(0, SeekOrigin.Begin); byte[] b0 = new byte[10]; int n0 = s1.Read(b0, 0, 10); s1.Close(); |
filePN ... hier wird der vollständige Name (mit Pfadangabe) der mp3-Datei abgelegt file ... ermöglicht u.a. das Erstellen einer Ladeoperation s1 ... damit wird eine Verbindung zur Datei hergestellt Man stellt das erste zu ladende Byte ein: mit dem Offset 0 , vom Filebeginn an ein Array b0 zum Speichern der Daten wird bereitgestellt in b0 werden die Bytes ab Nr. 0 belegt; 10 Bytes sollen gelesen werden d.h. der Header wird gelesen der Speicherplatz reicht also gerade aus! in n0 wird die Gesamtanzahl der gelesenen Bytes zurückgegeben Trennung der Verbindung zur mp3-Datei |
Einlesen der Bytes Nr. 5200 bis Nr. 5750 (je einschl.) innerhalb der Datei: int von = 5200; // = Convert.ToInt32(textBox1.Text); int bis = 5750; // = Convert.ToInt32(textBox2.Text); string filePN = FilePfadName.Text; FileInfo file = new FileInfo(filePN); Stream s2 = file.OpenRead(); s2.Seek(von, SeekOrigin.Begin); byte[] b0 = new byte[bis-von+2]; int n0 = s2.Read(b0, 0, bis - von + 1); s2.Close(); |
Aufbau wie oben beschrieben |
Einlesen der letzten 128 Bytes am Ende der Datei: string filePN = "C:/temp/meinTestFile.mp3"; FileInfo file = new FileInfo(filePN); Stream s3 = file.OpenRead(); s3.Seek(-128, SeekOrigin.End); byte[] b0 = new byte[128]; int n0 = s3.Read(b0, 0, 128); s3.Close(); |
Man stellt das erste zu ladende Byte ein: mit dem Offset -128 , vom File-Ende aus ein Array b0 zum Speichern der Daten wird bereitgestellt in b0 werden die Bytes ab Nr. 0 belegt; 128 Bytes sollen gelesen werden in n0 wird die Gesamtanzahl der gelesenen Bytes zurückgegeben |
zurück zur Startseite