FileStream Klasse
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

FileStream-Klasse

 

Stellt einen Stream für eine Datei bereit, wobei synchrone und asynchrone Lese- und Schreibvorgänge unterstützt werden.

Um den .NET Framework-Quellcode für diesen Typ zu durchsuchen, finden Sie unter der Reference Source.

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


[ComVisibleAttribute(true)]
public class FileStream : Stream

NameBeschreibung
System_CAPS_pubmethodFileStream(IntPtr, FileAccess)

Veraltet.Initialisiert eine neue Instanz der FileStream-Klasse für das angegebene Dateihandle und mit der angegebenen Lese- und Schreibberechtigung.

System_CAPS_pubmethodFileStream(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.

System_CAPS_pubmethodFileStream(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.

System_CAPS_pubmethodFileStream(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.

System_CAPS_pubmethodFileStream(SafeFileHandle, FileAccess)

Initialisiert eine neue Instanz der FileStream-Klasse für das angegebene Dateihandle und mit der angegebenen Lese- und Schreibberechtigung.

System_CAPS_pubmethodFileStream(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.

System_CAPS_pubmethodFileStream(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.

System_CAPS_pubmethodFileStream(String, FileMode)

Initialisiert eine neue Instanz der FileStream-Klasse mit dem angegebenen Pfad und dem angegebenen Erstellungsmodus.

System_CAPS_pubmethodFileStream(String, FileMode, FileAccess)

Initialisiert eine neue Instanz der FileStream-Klasse mit den Angaben für den Pfad, den Erstellungsmodus und die Lese-/Schreibberechtigung.

System_CAPS_pubmethodFileStream(String, FileMode, FileAccess, FileShare)

Initialisiert eine neue Instanz der FileStream-Klasse mit den Angaben für den Pfad, den Erstellungsmodus, die Lese-/Schreib- und Freigabeberechtigung.

System_CAPS_pubmethodFileStream(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.

System_CAPS_pubmethodFileStream(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.

System_CAPS_pubmethodFileStream(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.

System_CAPS_pubmethodFileStream(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.

System_CAPS_pubmethodFileStream(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.

NameBeschreibung
System_CAPS_pubpropertyCanRead

Ruft einen Wert ab, der angibt, ob der aktuelle Stream Lesevorgänge unterstützt.(Setzt "Stream.CanRead" außer Kraft.)

System_CAPS_pubpropertyCanSeek

Ruft einen Wert ab, der angibt, ob der aktuelle Stream Suchvorgänge unterstützt.(Setzt "Stream.CanSeek" außer Kraft.)

System_CAPS_pubpropertyCanTimeout

Ruft einen Wert ab, der bestimmt, ob für den aktuellen Stream ein Timeout möglich ist.(Geerbt von Stream.)

System_CAPS_pubpropertyCanWrite

Ruft einen Wert ab, der angibt, ob der aktuelle Stream Schreibvorgänge unterstützt.(Setzt "Stream.CanWrite" außer Kraft.)

System_CAPS_pubpropertyHandle

Veraltet.Ruft das Dateihandle des Betriebssystems für die Datei ab, die durch das aktuelle FileStream-Objekt gekapselt wird.

System_CAPS_pubpropertyIsAsync

Ruft einen Wert ab, der angibt, ob der FileStream asynchron oder synchron geöffnet wurde.

System_CAPS_pubpropertyLength

Ruft die Länge des Streams in Bytes ab.(Setzt "Stream.Length" außer Kraft.)

System_CAPS_pubpropertyName

Ruft den Namen des FileStream ab, der an den Konstruktor übergeben wurde.

System_CAPS_pubpropertyPosition

Ruft die aktuelle Position dieses Streams ab oder legt diese fest.(Setzt "Stream.Position" außer Kraft.)

System_CAPS_pubpropertyReadTimeout

Ruft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Lesevorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest.(Geerbt von Stream.)

System_CAPS_pubpropertySafeFileHandle

Ruft ein SafeFileHandle-Objekt ab, das das Dateihandle des Betriebssystems für die Datei darstellt, die vom aktuellen FileStream-Objekt gekapselt wird.

System_CAPS_pubpropertyWriteTimeout

Ruft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Schreibvorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest.(Geerbt von Stream.)

NameBeschreibung
System_CAPS_pubmethodBeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Beginnt einen asynchronen Lesevorgang. (Verwenden Sie stattdessen ReadAsync. Weitere Informationen finden Sie im Abschnitt "Hinweise".)(Setzt "Stream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)" außer Kraft.)

System_CAPS_pubmethodBeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Beginnt einen asynchronen Schreibvorgang. (Verwenden Sie stattdessen WriteAsync. Weitere Informationen finden Sie im Abschnitt "Hinweise".)(Setzt "Stream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)" außer Kraft.)

System_CAPS_pubmethodClose()

Schließ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.(Geerbt von Stream.)

System_CAPS_pubmethodCopyTo(Stream)

Liest alle Bytes aus dem aktuellen Stream und schreibt sie in einen anderen Datenstrom.(Geerbt von Stream.)

System_CAPS_pubmethodCopyTo(Stream, Int32)

Liest alles Bytes aus dem aktuellen Datenstrom und schreibt sie unter Verwendung einer angegebenen Puffergröße in einen anderen Datenstrom.(Geerbt von Stream.)

System_CAPS_pubmethodCopyToAsync(Stream)

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie in einen anderen Stream.(Geerbt von Stream.)

System_CAPS_pubmethodCopyToAsync(Stream, Int32)

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie unter Verwendung einer angegebenen Puffergröße in einen anderen Stream.(Geerbt von Stream.)

System_CAPS_pubmethodCopyToAsync(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.(Geerbt von Stream.)

System_CAPS_pubmethodCreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.(Geerbt von MarshalByRefObject.)

System_CAPS_protmethodCreateWaitHandle()

Veraltet.Reserviert ein WaitHandle-Objekt.(Geerbt von Stream.)

System_CAPS_pubmethodDispose()

Gibt alle vom Stream verwendeten Ressourcen frei.(Geerbt von Stream.)

System_CAPS_protmethodDispose(Boolean)

Gibt die von FileStream verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.(Setzt "Stream.Dispose(Boolean)" außer Kraft.)

System_CAPS_pubmethodEndRead(IAsyncResult)

Wartet, bis der ausstehende asynchrone Lesevorgang abgeschlossen ist. (Verwenden Sie stattdessen ReadAsync. Weitere Informationen finden Sie im Abschnitt "Hinweise".)(Setzt "Stream.EndRead(IAsyncResult)" außer Kraft.)

System_CAPS_pubmethodEndWrite(IAsyncResult)

Beendet einen asynchronen Schreibvorgang und blockiert, bis die E/A-Operation abgeschlossen wurde. (Verwenden Sie stattdessen WriteAsync. Weitere Informationen finden Sie im Abschnitt "Hinweise".)(Setzt "Stream.EndWrite(IAsyncResult)" außer Kraft.)

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von Object.)

System_CAPS_protmethodFinalize()

Stellt das Freigeben von Ressourcen und das Ausführen anderer Bereinigungsvorgänge sicher, wenn der Garbage Collector den FileStream verarbeitet.(Setzt "Object.Finalize()" außer Kraft.)

System_CAPS_pubmethodFlush()

Löscht die Puffer für diesen Datenstrom und veranlasst die Ausgabe aller gepufferten Daten in die Datei.(Setzt "Stream.Flush()" außer Kraft.)

System_CAPS_pubmethodFlush(Boolean)

Löscht die Puffer für diesen Datenstrom, veranlasst die Ausgabe aller gepufferten Daten in die Datei und löscht zudem alle Zwischendateipuffer.

System_CAPS_pubmethodFlushAsync()

Löscht sämtliche Puffer für diesen Stream asynchron und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät.(Geerbt von Stream.)

System_CAPS_pubmethodFlushAsync(CancellationToken)

Löscht alle Puffer für diesen Stream asynchron, veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät und überwacht Abbruchanforderungen.(Setzt "Stream.FlushAsync(CancellationToken)" außer Kraft.)

System_CAPS_pubmethodGetAccessControl()

Ruft ein FileSecurity-Objekt ab, das die Einträge in der Zugriffssteuerungsliste für die Datei kapselt, das vom aktuellen FileStream-Objekt beschrieben wird.

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von Object.)

System_CAPS_pubmethodGetLifetimeService()

Ruft die aktuellen Service-Objekt, das die Lebensdauerrichtlinien für diese Instanz steuert.(Geerbt von MarshalByRefObject.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinien für diese Instanz ab.(Geerbt von MarshalByRefObject.)

System_CAPS_pubmethodLock(Int64, Int64)

Verhindert, dass andere Prozesse im FileStream lesen oder schreiben.

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekt.(Geerbt von MarshalByRefObject.)

System_CAPS_protmethodObjectInvariant()

Veraltet. Diese API unterstützt die producto-Infrastruktur und sollte nicht direkt aus Ihrem Code verwendet werden. Bietet Unterstützung für einen Contract.(Geerbt von Stream.)

System_CAPS_pubmethodRead(Byte[], Int32, Int32)

Liest einen Byteblock aus dem Stream und schreibt die Daten in einen angegebenen Puffer.(Setzt "Stream.Read(Byte[], Int32, Int32)" außer Kraft.)

System_CAPS_pubmethodReadAsync(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.(Geerbt von Stream.)

System_CAPS_pubmethodReadAsync(Byte[], Int32, Int32, CancellationToken)

Liest eine Folge von Bytes asynchron aus dem aktuellen Stream, erhöht die Position im Stream um die Anzahl der gelesenen Bytes und überwacht Abbruchanfragen.(Setzt "Stream.ReadAsync(Byte[], Int32, Int32, CancellationToken)" außer Kraft.)

System_CAPS_pubmethodReadByte()

Liest ein Byte aus der Datei und erhöht die Leseposition um ein Byte.(Setzt "Stream.ReadByte()" außer Kraft.)

System_CAPS_pubmethodSeek(Int64, SeekOrigin)

Legt die aktuelle Position dieses Streams auf den angegebenen Wert fest.(Setzt "Stream.Seek(Int64, SeekOrigin)" außer Kraft.)

System_CAPS_pubmethodSetAccessControl(FileSecurity)

Wendet von einem FileSecurity-Objekt beschriebene Einträge in Zugriffssteuerungslisten auf die Datei an, die vom aktuellen FileStream-Objekt beschrieben wird.

System_CAPS_pubmethodSetLength(Int64)

Legt die Länge dieses Streams auf den angegebenen Wert fest.(Setzt "Stream.SetLength(Int64)" außer Kraft.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von Object.)

System_CAPS_pubmethodUnlock(Int64, Int64)

Ermöglicht anderen Prozessen den Zugriff auf die gesamte Datei oder einen Teil der Datei, die zuvor gesperrt war.

System_CAPS_pubmethodWrite(Byte[], Int32, Int32)

Schreibt einen Block von Bytes in den Dateistream.(Setzt "Stream.Write(Byte[], Int32, Int32)" außer Kraft.)

System_CAPS_pubmethodWriteAsync(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.(Geerbt von Stream.)

System_CAPS_pubmethodWriteAsync(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.(Setzt "Stream.WriteAsync(Byte[], Int32, Int32, CancellationToken)" außer Kraft.)

System_CAPS_pubmethodWriteByte(Byte)

Schreibt ein Byte an die aktuelle Position im Dateistream.(Setzt "Stream.WriteByte(Byte)" außer Kraft.)

System_CAPS_noteHinweis

Die .NET Framework-Quellcodes für diesen Typ finden Sie unter der Reference Source. Sie können den Quellcode online Durchsuchen, Referenz für die Offlineanzeige herunterladen und schrittweise durchlaufen (inklusive Patches und Updates) während des Debuggens; see instructions.

Verwenden der FileStream Klasse, um Schreib- und Lesezugriff zu öffnen und Schließen von Dateien in einem Dateisystem, und zum anderen dateibezogene Betriebssystemhandles, z. B. Pipes, Standardeingaben und Standardausgabe bearbeiten. Können Sie die Read, Write, CopyTo, und Flush Methoden zum Ausführen von synchroner Vorgängen oder ReadAsync, WriteAsync, CopyToAsync, und FlushAsync Methoden zum Durchführen asynchroner Vorgänge. Verwenden Sie die asynchronen Methoden ressourcenintensiven-Dateioperationen ausführen, ohne den Hauptthread zu blockieren. Diese Überlegungen zur Leistung sind insbesondere in einer Windows 8.x 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 für eine bessere Leistung.

System_CAPS_importantWichtig

Dieser Typ implementiert die IDisposable Schnittstelle. Wenn Sie mit dem Datentyp haben, sollten Sie es entweder direkt oder indirekt freigeben. Damit des Typs direkt freigegeben werden, rufen Sie seine Dispose -Methode in eine try/catch Block. Verwenden, um es indirekt freigegeben werden, z. B. ein Sprachkonstrukt using (in c#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt "Verwenden eines Objekts, die implementiert IDisposable" in der IDisposable Thema zur Schnittstelle.

Die IsAsync -Eigenschaft erkennt, ob die Datei-Handle asynchron geöffnet wurde. Wenn Sie eine Instanz von erstellen, geben Sie diesen Wert die FileStream -Klasse unter Verwendung eines Konstruktors, die ein isAsync, useAsync, oder options Parameter. Wenn die Eigenschaft den Wert true, der Datenstrom verwendet überlappende e/a, um asynchron ausführen. Allerdings die IsAsync Eigenschaft hat keine werden true aufrufen, die ReadAsync, WriteAsync, oder CopyToAsync Methode. Wenn die IsAsync -Eigenschaft ist false und rufen Sie den asynchronen Lesevorgang und Schreibvorgänge, der UI-Thread wird weiterhin nicht blockiert, aber der tatsächliche e/a-Vorgang synchron ausgeführt wird.

Die Seek Methode unterstützt den zufälligen Zugriff auf Dateien. Seek ermöglicht die Schreib-/Leseposition in einer beliebigen Position innerhalb der Datei verschoben werden. Dies erfolgt durch Parameter für den Bezugspunkt Byte. Das Byte-Offset ist relativ zu den Bezugspunkt, die den Anfang, die aktuelle Position oder das Ende der zugrunde liegenden Datei sein kann, dargestellt durch die drei Mitglieder der SeekOrigin Enumeration.

System_CAPS_noteHinweis

Datenträgerdateien unterstützen immer den wahlfreien Zugriff. Zum Zeitpunkt der Erstellung der CanSeek Eigenschaft festgelegt ist true oder false abhängig von der zugrunde liegende Dateityp. Wenn der zugrunde liegende Dateityp in winbase.h definiert FILE_TYPE_DISK ist die CanSeek Eigenschaftswert ist true. Andernfalls die CanSeek Eigenschaftswert ist false.

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

Verzeichnisvorgänge und anderen Dateioperationen finden Sie in der File, Directory, und Path Klassen. Die File -Klasse ist eine Hilfsklasse, die statische Methoden in erster Linie für die Erstellung von FileStream Objekten auf der Grundlage von Dateipfaden. Die MemoryStream Klasse erstellt einen Stream aus einem Bytearray und ähnelt der FileStream Klasse.

Eine Liste der häufig verwendeten und Verzeichnisoperationen, finden Sie unter Allgemeine E/A-Aufgaben.

Wenn ein FileStream Objekt hat keinen exklusiven auf das Handle, das ein anderer Thread gleichzeitig Zugriff auf das Dateihandle konnte, und ändern Sie die Position des Betriebssystems, das das Dateihandle zugeordnet ist. In diesem Fall wird die zwischengespeicherte Position in der FileStream -Objekt und die zwischengespeicherten Daten im Puffer können gefährdet werden. Das FileStream -Objekt führt routinemäßig eine Prüfung auf Methoden, die Zugriff auf den zwischengespeicherten Puffer, um sicherzustellen, dass das Betriebssystem Handle Position die zwischengespeicherte Position verwendeten identisch ist die FileStream Objekt.

Wenn eine unerwartete Änderung der erkannt wird, in einem Aufruf der Read .NET Framework-Methode wird der Inhalt des Puffers verworfen und der Stream erneut aus der Datei gelesen. Dies die Leistung beeinträchtigen kann abhängig von der Größe der Datei und andere Prozesse, die die Position des Dateistreams auswirken könnten.

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

Ein FileStream -Objekt keinen exklusiven auf das Handle Wenn entweder die SafeFileHandle -Eigenschaft zugegriffen wird, um das Handle verfügbar zu machen oder die FileStream -Objekts die SafeFileHandle Eigenschaft in seinem Konstruktor.

Das folgende Beispiel veranschaulicht einige der FileStream Konstruktoren.

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);
    }
}

Im folgenden Beispiel wird veranschaulicht, wie asynchron in eine Datei geschrieben wird. Dieser Code ausgeführt wird, in einer WPF-Anwendung, die ein TextBlock-Element mit dem Namen UserInput und eine Schaltfläche, um einen Click-Ereignishandler mit dem Namen Button_Click verknüpft ist. Der Pfad muss zu einer Datei als auf dem Computer beendet geändert werden.

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);
            }
        }
    }
}

Universal Windows Platform
Verfügbar seit 10
.NET Framework
Verfügbar seit 1.1
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0

Öffentliche statische (in Visual Basic freigegebene) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Zurück zum Anfang
Anzeigen:
© 2016 Microsoft