(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

FileStream-Klasse

Macht einen Stream um eine Datei verfügbar, wobei synchrone und asynchrone Lese- und Schreibvorgänge unterstützt werden.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)

[ComVisibleAttribute(true)]
public class FileStream : Stream

Der FileStream-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeFileStream(IntPtr, FileAccess) Veraltet. Initialisiert eine neue Instanz der FileStream-Klasse für das angegebene Dateihandle und mit der angegebenen Lese- und Schreibberechtigung.
Öffentliche MethodeFileStream(SafeFileHandle, FileAccess)Initialisiert eine neue Instanz der FileStream-Klasse für das angegebene Dateihandle und mit der angegebenen Lese- und Schreibberechtigung.
Öffentliche MethodeUnterstützt von XNA FrameworkFileStream(String, FileMode)Initialisiert eine neue Instanz der FileStream-Klasse mit dem angegebenen Pfad und dem angegebenen Erstellungsmodus.
Öffentliche MethodeFileStream(IntPtr, FileAccess, Boolean) Veraltet. Initialisiert eine neue Instanz der FileStream-Klasse für das angegebene Dateihandle mit den Angaben für die Lese-/Schreibberechtigung und für den Besitz der FileStream-Instanz.
Öffentliche MethodeFileStream(SafeFileHandle, FileAccess, Int32)Initialisiert eine neue Instanz der FileStream-Klasse für das angegebene Dateihandle mit den Angaben für die Lese-/Schreibberechtigung und die Puffergröße.
Öffentliche MethodeUnterstützt von XNA FrameworkFileStream(String, FileMode, FileAccess)Initialisiert eine neue Instanz der FileStream-Klasse mit den Angaben für den Pfad, den Erstellungsmodus und die Lese-/Schreibberechtigung.
Öffentliche MethodeFileStream(IntPtr, FileAccess, Boolean, Int32) Veraltet. Initialisiert eine neue Instanz der FileStream-Klasse für das angegebene Dateihandle mit den Angaben für die Lese-/Schreibberechtigung, den Besitz der FileStream-Instanz und die Puffergröße.
Öffentliche MethodeFileStream(SafeFileHandle, FileAccess, Int32, Boolean)Initialisiert eine neue Instanz der FileStream-Klasse für das angegebene Dateihandle mit den Angaben für die Lese-/Schreibberechtigung, die Puffergröße und den synchronen bzw. asynchronen Zustand.
Öffentliche MethodeUnterstützt von XNA FrameworkFileStream(String, FileMode, FileAccess, FileShare)Initialisiert eine neue Instanz der FileStream-Klasse mit den Angaben für den Pfad, den Erstellungsmodus und die Freigabeberechtigung.
Öffentliche MethodeFileStream(IntPtr, FileAccess, Boolean, Int32, Boolean) Veraltet. Initialisiert eine neue Instanz der FileStream-Klasse für das angegebene Dateihandle mit den Angaben für die Lese-/Schreibberechtigung, den Besitz der FileStream-Instanz, die Puffergröße und den synchronen bzw. asynchronen Zustand.
Öffentliche MethodeUnterstützt von XNA FrameworkFileStream(String, FileMode, FileAccess, FileShare, Int32)Initialisiert eine neue Instanz der FileStream-Klasse mit den Angaben für den Pfad, den Erstellungsmodus, die Lese-/Schreib- und Freigabeberechtigung sowie die Puffergröße.
Öffentliche MethodeUnterstützt von XNA FrameworkFileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean)Initialisiert eine neue Instanz der FileStream-Klasse mit den Angaben für den Pfad, den Erstellungsmodus, die Lese-/Schreib- und Freigabeberechtigung, die Puffergröße und den synchronen bzw. asynchronen Zustand.
Öffentliche MethodeFileStream(String, FileMode, FileAccess, FileShare, Int32, FileOptions)Initialisiert eine neue Instanz der FileStream-Klasse mit den Angaben für den Pfad, den Erstellungsmodus, die Lese-/Schreib- und Freigabeberechtigung, die Zugriffsmöglichkeiten anderer FileStreams auf die gleiche Datei, die Puffergröße und zusätzliche Dateioptionen.
Öffentliche MethodeFileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions)Initialisiert eine neue Instanz der FileStream-Klasse mit den Angaben für den Pfad, den Erstellungsmodus, die Zugriffsrechte und die Freigabeberechtigung, die Puffergröße und zusätzliche Dateioptionen.
Öffentliche MethodeFileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)Initialisiert eine neue Instanz der FileStream-Klasse mit den Angaben für den Pfad, den Erstellungsmodus, die Zugriffsrechte und die Freigabeberechtigung, die Puffergröße, zusätzliche Dateioptionen, die Zugriffssteuerung und die Überwachungssicherheit.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von XNA FrameworkCanReadRuft einen Wert ab, der angibt, ob der aktuelle Stream Lesevorgänge unterstützt. (Überschreibt Stream.CanRead.)
Öffentliche EigenschaftUnterstützt von XNA FrameworkCanSeekRuft einen Wert ab, der angibt, ob der aktuelle Stream Suchvorgänge unterstützt. (Überschreibt Stream.CanSeek.)
Öffentliche EigenschaftUnterstützt von XNA FrameworkCanTimeoutRuft einen Wert ab, der bestimmt, ob für den aktuellen Stream ein Timeout möglich ist. (Von Stream geerbt.)
Öffentliche EigenschaftUnterstützt von XNA FrameworkCanWriteRuft einen Wert ab, der angibt, ob der aktuelle Stream Schreibvorgänge unterstützt. (Überschreibt Stream.CanWrite.)
Öffentliche EigenschaftHandle Veraltet. Ruft das Dateihandle des Betriebssystems für die Datei ab, die durch das aktuelle FileStream-Objekt gekapselt wird.
Öffentliche EigenschaftUnterstützt von XNA FrameworkIsAsyncRuft einen Wert ab, der angibt, ob FileStream asynchron oder synchron geöffnet wurde.
Öffentliche EigenschaftUnterstützt von XNA FrameworkLengthRuft die Länge des Streams in Bytes ab. (Überschreibt Stream.Length.)
Öffentliche EigenschaftUnterstützt von XNA FrameworkNameRuft den Namen des FileStream ab, der an den Konstruktor übergeben wurde.
Öffentliche EigenschaftUnterstützt von XNA FrameworkPositionRuft die aktuelle Position dieses Streams ab oder legt diese fest. (Überschreibt Stream.Position.)
Öffentliche EigenschaftUnterstützt von XNA FrameworkReadTimeoutRuft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Lesevorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest. (Von Stream geerbt.)
Öffentliche EigenschaftSafeFileHandleRuft ein SafeFileHandle-Objekt auf, das das Dateihandle des Betriebssystems für die Datei darstellt, die vom aktuellen FileStream-Objekt gekapselt wird.
Öffentliche EigenschaftUnterstützt von XNA FrameworkWriteTimeoutRuft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Schreibvorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest. (Von Stream geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkBeginReadBeginnt einen asynchronen Lesevorgang. (Verwenden Sie stattdessen ReadAsync. Weitere Informationen finden Sie im Abschnitt "Hinweise".) (Überschreibt Stream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object).)

In XNA Framework 3.0 wird dieser Member von Stream geerbt.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object).
Öffentliche MethodeUnterstützt von XNA FrameworkBeginWriteBeginnt einen asynchronen Schreibvorgang. (Verwenden Sie stattdessen WriteAsync. Weitere Informationen finden Sie im Abschnitt "Hinweise".) (Überschreibt Stream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).)

In XNA Framework 3.0 wird dieser Member von Stream geerbt.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).
Öffentliche MethodeUnterstützt von XNA FrameworkCloseSchließt den aktuellen Stream und gibt alle dem aktuellen Stream zugeordneten Ressourcen frei (z. B. Sockets und Dateihandles). Anstatt diese Methode aufzurufen, stellen Sie sicher, dass der Stream ordnungsgemäß freigegeben wird. (Von Stream geerbt.)
Öffentliche MethodeCopyTo(Stream)Liest alle Bytes aus dem aktuellen Stream und schreibt sie in einen anderen Datenstrom. (Von Stream geerbt.)
Öffentliche MethodeCopyTo(Stream, Int32)Liest alles Bytes aus dem aktuellen Datenstrom und schreibt sie unter Verwendung einer angegebenen Puffergröße in einen anderen Datenstrom. (Von Stream geerbt.)
Öffentliche MethodeCopyToAsync(Stream)Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie in einen anderen Stream. (Von Stream geerbt.)
Öffentliche MethodeCopyToAsync(Stream, Int32)Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie unter Verwendung einer angegebenen Puffergröße in einen anderen Stream. (Von Stream geerbt.)
Öffentliche MethodeCopyToAsync(Stream, Int32, CancellationToken)Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie unter Verwendung einer angegebenen Puffergröße und eines Abbruchtokens in einen anderen Stream. (Von Stream geerbt.)
Öffentliche MethodeCreateObjRefErstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Von MarshalByRefObject geerbt.)
Geschützte MethodeUnterstützt von XNA FrameworkCreateWaitHandle Veraltet. Reserviert ein WaitHandle-Objekt. (Von Stream geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkDispose()Gibt sämtliche vom Stream verwendeten Ressourcen frei. (Von Stream geerbt.)
Geschützte MethodeUnterstützt von XNA FrameworkDispose(Boolean)Gibt die vom FileStream verwendeten, nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei. (Überschreibt Stream.Dispose(Boolean).)
Öffentliche MethodeUnterstützt von XNA FrameworkEndReadWartet, bis der ausstehende asynchrone Lesevorgang abgeschlossen ist. (Verwenden Sie stattdessen ReadAsync. Weitere Informationen finden Sie im Abschnitt "Hinweise".) (Überschreibt Stream.EndRead(IAsyncResult).)

In XNA Framework 3.0 wird dieser Member von Stream geerbt.EndRead(IAsyncResult).
Öffentliche MethodeUnterstützt von XNA FrameworkEndWriteBeendet einen asynchronen Schreibvorgang und blockiert, bis die E/A-Operation abgeschlossen wurde. (Verwenden Sie stattdessen WriteAsync. Weitere Informationen finden Sie im Abschnitt "Hinweise".) (Überschreibt Stream.EndWrite(IAsyncResult).)

In XNA Framework 3.0 wird dieser Member von Stream geerbt.EndWrite(IAsyncResult).
Öffentliche MethodeUnterstützt von XNA FrameworkEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeUnterstützt von XNA FrameworkFinalizeStellt das Freigeben von Ressourcen und das Ausführen anderer Bereinigungsvorgänge sicher, wenn der Garbage Collector den FileStream verarbeitet. (Überschreibt Object.Finalize().)
Öffentliche MethodeUnterstützt von XNA FrameworkFlush()Löscht die Puffer für diesen Datenstrom und veranlasst die Ausgabe aller gepufferten Daten in die Datei. (Überschreibt Stream.Flush().)
Öffentliche MethodeFlush(Boolean)Löscht die Puffer für diesen Datenstrom, veranlasst die Ausgabe aller gepufferten Daten in die Datei und löscht zudem alle Zwischendateipuffer.
Öffentliche MethodeFlushAsync()Löscht sämtliche Puffer für diesen Stream asynchron und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät. (Von Stream geerbt.)
Öffentliche MethodeFlushAsync(CancellationToken)Löscht alle Puffer für diesen Stream asynchron und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät und überwacht Abbruchanforderungen. (Überschreibt Stream.FlushAsync(CancellationToken).)
Öffentliche MethodeGetAccessControlRuft ein FileSecurity-Objekt ab, das die Einträge in der Zugriffssteuerungsliste für die Datei kapselt, das vom aktuellen FileStream-Objekt beschrieben wird.
Öffentliche MethodeUnterstützt von XNA FrameworkGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetLifetimeServiceRuft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Von MarshalByRefObject geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeInitializeLifetimeServiceRuft ein Lebensdauerdienstobjekt ab, mit dem die Lebensdauerrichtlinien für diese Instanz gesteuert werden können. (Von MarshalByRefObject geerbt.)
Öffentliche MethodeLockVerhindert, dass andere Prozesse im FileStream lesen oder schreiben.
Geschützte MethodeUnterstützt von XNA FrameworkMemberwiseClone()Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte MethodeMemberwiseClone(Boolean)Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Von MarshalByRefObject geerbt.)
Geschützte MethodeObjectInvariantInfrastruktur. Veraltet. Bietet Unterstützung für das Contract. (Von Stream geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkReadLiest einen Byteblock aus dem Stream und schreibt die Daten in einen angegebenen Puffer. (Überschreibt Stream.Read(Byte[], Int32, Int32).)
Öffentliche MethodeReadAsync(Byte[], Int32, Int32)Liest eine Bytesequenz asynchron aus dem aktuellen Stream und setzt die Position in diesem Stream um die Anzahl der gelesenen Bytes nach vorn. (Von Stream geerbt.)
Öffentliche MethodeReadAsync(Byte[], Int32, Int32, CancellationToken)Liest eine Folge von Bytes asynchron aus aktuellen Stream, erhöht die Position im Stream um die Anzahl der gelesenen Bytes und überwacht Abbruchanfragen. (Überschreibt Stream.ReadAsync(Byte[], Int32, Int32, CancellationToken).)
Öffentliche MethodeUnterstützt von XNA FrameworkReadByteLiest ein Byte aus der Datei und erhöht die Leseposition um ein Byte. (Überschreibt Stream.ReadByte().)
Öffentliche MethodeUnterstützt von XNA FrameworkSeekLegt die aktuelle Position dieses Streams auf den angegebenen Wert fest. (Überschreibt Stream.Seek(Int64, SeekOrigin).)
Öffentliche MethodeSetAccessControlWendet von einem FileSecurity-Objekt beschriebene Einträge in Zugriffssteuerungslisten auf die Datei an, die vom aktuellen FileStream-Objekt beschrieben wird.
Öffentliche MethodeUnterstützt von XNA FrameworkSetLengthLegt die Länge dieses Streams auf den angegebenen Wert fest. (Überschreibt Stream.SetLength(Int64).)
Öffentliche MethodeUnterstützt von XNA FrameworkToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche MethodeUnlockErmöglicht anderen Prozessen den Zugriff auf die gesamte Datei oder einen Teil der Datei, die zuvor gesperrt war.
Öffentliche MethodeUnterstützt von XNA FrameworkWriteSchreibt einen Block von Bytes in den Dateistream. (Überschreibt Stream.Write(Byte[], Int32, Int32).)
Öffentliche MethodeWriteAsync(Byte[], Int32, Int32)Schreibt eine Bytesequenz asynchron in den aktuellen Stream und setzt die aktuelle Position in diesem Stream um die Anzahl der geschriebenen Bytes nach vorn. (Von Stream geerbt.)
Öffentliche MethodeWriteAsync(Byte[], Int32, Int32, CancellationToken)Schreibt beim Überschreiben in einer abgeleiteten Klasse eine Folge von Bytes asynchron in den aktuellen Stream und erhöht die aktuelle Position im Stream um die Anzahl der geschriebenen Bytes und überwacht Abbruchanforderungen. (Überschreibt Stream.WriteAsync(Byte[], Int32, Int32, CancellationToken).)
Öffentliche MethodeUnterstützt von XNA FrameworkWriteByteSchreibt ein Byte an die aktuelle Position im Dateistream. (Überschreibt Stream.WriteByte(Byte).)
Zum Seitenanfang

  NameBeschreibung
Öffentliche ErweiterungsmethodeAsInputStreamKonvertiert einen verwalteten Stream in .NET für Windows Store-Apps zu einem Eingabestream in Windows-Runtime. (Durch WindowsRuntimeStreamExtensions definiert.)
Öffentliche ErweiterungsmethodeAsOutputStreamKonvertiert einen verwalteten Stream in .NET für Windows Store-Apps zu einem Ausgabestream in Windows-Runtime. (Durch WindowsRuntimeStreamExtensions definiert.)
Zum Seitenanfang

Verwenden Sie die FileStream-Klasse, um aus dem gelesen, Schreiben, geöffnet und stellen Dateien in einem Dateisystem, und andere dateibezogenes Betriebssystem behandelt zu bearbeiten, einschließlich Pipes, B und die Standardausgabe. Sie können Read, Write, CopyTo und Flush verwenden, um Methoden oder synchronen Operationen ReadAsync, WriteAsync, CopyToAsync und FlushAsync-Methoden auszuführen, um asynchrone Vorgänge auszuführen. Verwenden Sie die asynchronen Methoden, um ressourcenintensive Dateioperationen ausführen, ohne den Hauptthread zu blockieren. Diese Überlegungen zur Leistung sind insbesondere in einer Windows Store-App oder Desktop-App wichtig, bei der ein zeitaufwendiger Streamvorgang den UI-Thread blockieren kann und es dann den Anschein hat, dass Ihre App nicht funktioniert. FileStream puffert Eingabe und Ausgabe zur besseren Leistung.

Wichtiger HinweisWichtig

Dieser Typ implementiert die IDisposable-Schnittstelle. Wenn die Verwendung des Typs haben, sollten Sie diesen direkt oder indirekt entweder freigeben. Um den Typ direkt zu löschen, rufen Sie die Dispose-Methode in einem try/catch-Block auf. So zeigen ihn indirekt freizugeben, verwenden Sie ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt "Verwenden eines Objekts, das Abschnitt IDisposable" im IDisposable-Schnittstellenthema implementiert.

Die Eigenschaft IsAsync erkennt, ob das Dateihandle asynchron geöffnet wurde. Sie geben diesen Wert an, wenn Sie eine Instanz der FileStream-Klasse mithilfe eines Konstruktors erstellen, der isAsync, useAsync oder options-Parameter verfügt. Wenn die Eigenschaft true ist, wird der Stream überlappende E/A, um Dateioperationen asynchron auszuführen. muss jedoch die IsAsync-Eigenschaft nicht true sein, um ReadAsync, WriteAsync oder der CopyToAsync-Methode aufzurufen. Wenn die Eigenschaft IsAsyncfalse ist und die asynchrone Lesen und die und Schreibvorgänge aufrufen, wird der UI-Thread nicht noch blockiert, der tatsächliche E/A-Vorgang wird synchron ausgeführt.

Die Seek-Methode unterstützt wahlfreien Zugriff auf Dateien. Seek ermöglicht das Verschieben der Lese-/Schreibposition an eine beliebige Stelle in der Datei. Dies erfolgt durch Parameter für den Bezugspunkt des Byteoffset. Der Byteoffset ist relativ zum SuchenBezugspunkt, der Start-, die aktuelle Position oder das Ende die zugrunde liegende Datei sein kann, wie von den drei Member der SeekOrigin-Enumeration dargestellt.

HinweisHinweis

Datenträgerdateien unterstützen immer den wahlfreien Zugriff. Zum Zeitpunkt der Erstellung wird der Eigenschaftswert CanSeek auf true oder false je nach zugrunde liegenden Dateityp festgelegt. Wenn die zugrunde liegende FILE_TYPE_DISK Dateityp ist, wie in winbase.h definiert, ist CanSeek der Eigenschaftswert true. Andernfalls ist der CanSeek-Eigenschaftswert false.

Wenn ein Prozess mit einer teilweise gesperrten Datei beendet wird oder eine Datei mit ausstehenden Sperren schließt, ist das Verhalten nicht definiert.

Für Verzeichnisvorgänge und -anderen finden Dateioperationen, File, Directory und Path-Klassen. Die File-Klasse ist eine statische Hilfsklasse, die Methoden hauptsächlich für die Erstellung eines FileStream-Objekte auf Grundlage Dateipfade hat. Die MemoryStream-Klasse liefert einen Stream von einem Bytearray erstellt und entspricht der FileStream-Klasse vergleichbar.

Eine Liste der Gemeinsame Dateien und Verzeichnisvorgängen, finden Sie unter Allgemeine E/A-Aufgaben.

Erkennung von Streampositions-Änderungen

Wenn ein FileStream-Objekt keinen exklusiven Zugriff auf das Handle besitzt, kann gleichzeitig ein anderer Thread auf das Dateihandle zugreifen und die Position des vom Betriebssystem verwendeten Dateizeigers ändern, der diesem Dateihandle zugeordnet ist. Das kann dazu führen, dass die zwischengespeicherte Position im FileStream und die zwischengespeicherten Daten im Puffer manipuliert werden. Das FileStream-Objekt übergibt routinemäßig Überprüfungen auf Methoden aus, die auf die zwischengespeicherten Puffer zugreifen, um sicherzustellen, dass die Position des Handles des Betriebssystems identisch ist, der die zwischengespeicherte Position durch das FileStream-Objekt verwendet.

Wenn beim Aufruf der Read-Methode eine unerwartete Änderung der Handleposition ermittelt wird, wird der Inhalt des Puffers von .NET Framework verworfen und der Stream erneut aus der Datei gelesen. Dies kann sich nicht nur auf die Leistung, sondern je nach Dateigröße und möglichen anderen Prozessen auch auf die Position des Dateistreams auswirken.

Wenn eine unerwartete Änderung der Handleposition in einem Aufruf an der Write-Methode erkannt wird, wird der Inhalt des Puffers verworfen und eine IOException Ausnahme wird ausgelöst.

In folgenden Fällen besitzt ein FileStream-Objekt keinen exklusiven Zugriff auf das Handle: wenn auf die SafeFileHandle-Eigenschaft zugriffen wird, um das Handle verfügbar zu machen, oder wenn im Konstruktor des FileStream-Objekts die SafeFileHandle-Eigenschaft definiert wurde.

Im folgenden Beispiel werden einige der FileStream-Konstruktoren veranschaulicht.


using System;
using System.IO;
using System.Text;

class Test
{

    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        // Delete the file if it exists.
        if (File.Exists(path))
        {
            File.Delete(path);
        }

        //Create the file.
        using (FileStream fs = File.Create(path))
        {
            AddText(fs, "This is some text");
            AddText(fs, "This is some more text,");
            AddText(fs, "\r\nand this is on a new line");
            AddText(fs, "\r\n\r\nThe following is a subset of characters:\r\n");

            for (int i=1;i < 120;i++)
            {
                AddText(fs, Convert.ToChar(i).ToString());

            }
        }

        //Open the stream and read it back.
        using (FileStream fs = File.OpenRead(path))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);
            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }

    private static void AddText(FileStream fs, string value)
    {
        byte[] info = new UTF8Encoding(true).GetBytes(value);
        fs.Write(info, 0, info.Length);
    }
}


Das folgende Beispiel zeigt, wie eine Datei schreibt asynchron.


using System;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.IO;

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            UnicodeEncoding uniencoding = new UnicodeEncoding();
            string filename = @"c:\Users\exampleuser\Documents\userinputlog.txt";

            byte[] result = uniencoding.GetBytes(UserInput.Text);

            using (FileStream SourceStream = File.Open(filename, FileMode.OpenOrCreate))
            {
                SourceStream.Seek(0, SeekOrigin.End);
                await SourceStream.WriteAsync(result, 0, result.Length);
            }
        }
    }
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft