Feedback

Datei Teilweise einlesen (gestückelt)

Sprache: C#

Mit der Methode kann man selbstgewälte Teile einer Datei einlesen. Beispielaufruf: byte[] b = GetBytesFromFile(@"C:test.mp3", 0, 1000); Dies würde die ersten 1000 bytes der mp3 zurückgeben.
            public static byte[] GetBytesFromFile(string FileName, long start, int count)
            {
                FileStream fs = new FileStream(FileName, FileMode.Open);
                BinaryReader reader = new BinaryReader(fs);

                reader.BaseStream.Position = start;
                byte[] Data = reader.ReadBytes(count);

                reader.Close();
                fs.Close();

                return Data;
            }
            public static byte[] GetBytesFromFile(string FileName, long start, int count)
            {
                FileStream fs = new FileStream(FileName, FileMode.Open);
                BinaryReader reader = new BinaryReader(fs);

                reader.BaseStream.Position = start;
                byte[] Data = reader.ReadBytes(count);

                reader.Close();
                fs.Close();

                return Data;
            }

4 Kommentare

  1. schlecht geschrieben, dateioperationen sollen in einem using block untergebracht werden, damit auch in einem fehlerfall die datei ordnungsgemäß geschlossen wird

  2. Nur weil eine Besonderheit des Compilers ab Visual Studio 2008 nicht verwendet wurde heißt das nicht automatisch, dass ein Snippet FALSCH ist! In einem Try-[Catch]-Finally-Statement ist eine solche Möglichkeit ebenfalls gegeben (dafür gibt es eben das Finally). Abgesehen davon kann es sowieso nicht schaden ein Try-Catch-Block bei Dateioperationen zu verwenden. (PS: Kommentare geben „Punkte“?)