Feedback

C# - File Container

Veröffentlicht von am 16.04.2010
(1 Bewertungen)
Mit dieser Klasse lässt sich eine Datei in ein Objekt speichern und somit in den Arbeitsspeicher verlagern.
Inklusive einer Save()-Methode, um die Datei wieder auf der Festplatte zu speichern.
Ein typisches Einsatzgebiet ist beispielsweise im Netzwerkbereich, um auf eine einfache Art eine Datei zu übertragen.
GFU-Schulungen  [Anzeige]

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

C# 2019/2017/2015 Aufbau

In dieser Schulung lernen Sie fortgeschrittene Techniken im Bereich .Net C#. Dabei stehen neben den eigentlichen Techniken auch architektonische Aspekte im Mittelpunkt.

using System;
using System.IO;

namespace FileContainer
{
    /// <summary>
    /// Beinhaltet eine komplette Datei.
    /// </summary>
    public class FileContainer
    {
        #region variables
        private FileInfo mInfo;
        private Byte[] mBinary;
        #endregion

        #region properties
        /// <summary>
        /// Dateiinformationen
        /// </summary>
        public FileInfo Info
        {
            get { return mInfo; }
        }
        /// <summary>
        /// Datei in Form von Bytes
        /// </summary>
        public Byte[] Binary
        {
            get { return mBinary; }
        }
        #endregion

        #region ctor
        /// <summary>
        /// Initialisiert ein neues Objekt einer Datei.
        /// </summary>
        /// <param name="path">Relative oder absolute Dateipfad</param>
        public FileContainer(string path)
        {
            if (File.Exists(path))
            {
                mInfo = new FileInfo(path);

                using (FileStream stream = mInfo.Open(FileMode.Open))
                {
                    mBinary = new Byte[mInfo.Length];
                    stream.Read(mBinary, 0, (int)mInfo.Length);
                }
            }
        }
        #endregion

        #region methods
        /// <summary>
        /// Speichert das Objekt in eine Datei.
        /// </summary>
        /// <param name="target">Zielpfad</param>
        public void Save(string target)
        {
            using (FileStream stream = File.Open(target, FileMode.OpenOrCreate, FileAccess.Write))
            {
                stream.Write(mBinary, 0, mBinary.Length);
            }
        }
        #endregion
    }
}

1 Kommentare zum Snippet

hackman schrieb am 16.04.2010:
nette idee,
allerdings wird beim zurückspeichern die fileinfo gar nicht weiterverwendet
 

Logge dich ein, um hier zu kommentieren!