Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

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 Hashfunktion für einen bestimmten Typ. (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 von zu lesen, schreiben Sie zu, und schließen Dateien in einem Dateisystem, und andere dateibezogenes Betriebssystem zu bearbeiten behandelt, einschließlich Pipes, Standardeingabe und die Standardausgabe. Sie können Read, Write, CopyTo und Flush-Methoden verwenden, um synchronen Operationen oder 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 Leistungsüberlegung ist in einer Windows Store App oder in Desktop App besonders wichtig, in der ein zeitaufwendiger Streamvorgang den UI-Thread blockieren und die App angezeigt werden kann, als ob er nicht funktioniert. FileStream puffert Eingabe und Ausgabe zur besseren Leistung.

Die IsAsync-Eigenschaft erkennt, ob das Dateihandle asynchron geöffnet wurde. Sie geben diesen Wert an, wenn Sie eine Instanz der - Klasse FileStream mithilfe eines Konstruktors erstellen, der isAsync, useAsync oder options-Parameter verfügt. Wenn die - Eigenschaft true ist, verwendet der Stream überlappende E/A, um Dateioperationen asynchron auszuführen. muss jedoch die IsAsync-Eigenschaft nicht true sein, um ReadAsync, des WriteAsync oder der CopyToAsync-Methode aufzurufen. Wenn die - Eigenschaft IsAsyncfalse ist und Sie die asynchronen Lese- und Schreibvorgänge die aufrufen, wird der UI-Thread noch nicht blockiert, aber 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 der Anfang, die aktuelle Position oder das Ende der zugrunde liegenden Datei sein kann, wie von den drei SeekOrigin-Member der - Enumeration dargestellt.

HinweisHinweis

Datenträgerdateien unterstützen immer den wahlfreien Zugriff. Zum Zeitpunkt der Erstellung wird der CanSeek-Eigenschaftswert zu true oder zu false je nach dem zugrunde liegenden Dateityp festgelegt. Wenn der zugrunde liegende Dateityp FILE_TYPE_DISK ist, wie in winbase.h definiert, ist der CanSeek-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 weitere Dateioperationen finden, File, Directory und Path-Klassen. Die File-Klasse ist eine Hilfsprogrammklasse, die statische Methoden hauptsächlich für die Erstellung von FileStream-Objekte auf Grundlage Dateipfade verfügt. Die - Klasse stellt MemoryStream einen Stream von einem Bytearray erstellt und ist zur 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 - Objekt FileStream führt routinemäßig Überprüfungen auf Methoden aus, die auf den zwischengespeicherten Puffer zugreifen, um sicherzustellen, dass die Position des Handles des Betriebssystems identisch ist, die 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 in der Handleposition in einem Aufruf der - Methode an Write erkannt wird, wird der Inhalt des Puffers verworfen und IOException eine Ausnahme 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);
    }
}


Im folgenden Beispiel wird gezeigt, wie in 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, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

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.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.