WindowsRuntimeStorageExtensions.OpenStreamForWriteAsync Methode

Definitie

Overloads

Name Description
OpenStreamForWriteAsync(IStorageFile)

Hiermee wordt een stream opgehaald voor het schrijven naar een opgegeven bestand.

OpenStreamForWriteAsync(IStorageFolder, String, CreationCollisionOption)

Hiermee wordt een stream opgehaald voor het schrijven naar een bestand in de opgegeven bovenliggende map.

OpenStreamForWriteAsync(IStorageFile)

Belangrijk

Deze API is niet CLS-conform.

Hiermee wordt een stream opgehaald voor het schrijven naar een opgegeven bestand.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Threading::Tasks::Task<System::IO::Stream ^> ^ OpenStreamForWriteAsync(Windows::Storage::IStorageFile ^ windowsRuntimeFile);
[System.CLSCompliant(false)]
public static System.Threading.Tasks.Task<System.IO.Stream> OpenStreamForWriteAsync(this Windows.Storage.IStorageFile windowsRuntimeFile);
[<System.CLSCompliant(false)>]
static member OpenStreamForWriteAsync : Windows.Storage.IStorageFile -> System.Threading.Tasks.Task<System.IO.Stream>
<Extension()>
Public Function OpenStreamForWriteAsync (windowsRuntimeFile As IStorageFile) As Task(Of Stream)

Parameters

windowsRuntimeFile
Windows.Storage.IStorageFile

Het Windows Runtime Windows.Storage.IStorageFile-object waarnaar moet worden geschreven.

Retouren

Een taak die de asynchrone schrijfbewerking vertegenwoordigt.

Kenmerken

Uitzonderingen

windowsRuntimeFile is null.

Het bestand kan niet worden geopend of opgehaald als een stream.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een bestand opent als een Stream in een Windows Store-app en ernaar schrijft met behulp van een exemplaar van de klasse StreamReader.

using System;
using System.IO;
using Windows.Storage;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace ExampleApplication
{
    public sealed partial class BlankPage : Page
    {
        public BlankPage()
        {
            this.InitializeComponent();
        }

        private async void CreateButton_Click(object sender, RoutedEventArgs e)
        {
            StorageFile newFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("testfile3.txt");

            using (StreamWriter writer = new StreamWriter(await newFile.OpenStreamForWriteAsync()))
            {
                await writer.WriteLineAsync("new entry");
                await writer.WriteLineAsync(UserText.Text);
            }
        }

        private async void VerifyButton_Click(object sender, RoutedEventArgs e)
        {
            StorageFile openedFile = await ApplicationData.Current.LocalFolder.GetFileAsync("testfile3.txt");
            using (StreamReader reader = new StreamReader(await openedFile.OpenStreamForReadAsync()))
            {
                Results.Text = await reader.ReadToEndAsync();
            }
        }
    }
}
Imports System.IO
Imports Windows.Storage

NotInheritable Public Class BlankPage
    Inherits Page

    Private Async Sub CreateButton_Click(sender As Object, e As RoutedEventArgs)
        Dim newFile As StorageFile = Await ApplicationData.Current.LocalFolder.CreateFileAsync("testfile4.txt")

        Using writer As StreamWriter = New StreamWriter(Await newFile.OpenStreamForWriteAsync())
            Await writer.WriteLineAsync("new entry")
            Await writer.WriteLineAsync(UserText.Text)
        End Using
    End Sub

    Private Async Sub VerifyButton_Click(sender As Object, e As RoutedEventArgs)
        Dim openedFile As StorageFile = Await ApplicationData.Current.LocalFolder.GetFileAsync("testfile4.txt")
        Using reader As StreamReader = New StreamReader(Await openedFile.OpenStreamForReadAsync())
            Results.Text = Await reader.ReadToEndAsync()
        End Using
    End Sub
End Class

In het volgende voorbeeld ziet u de XAML-code die is gekoppeld aan het vorige voorbeeld.

<Page
    x:Class="ExampleApplication.BlankPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:ExampleApplication"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <StackPanel Background="{StaticResource ApplicationPageBackgroundBrush}" VerticalAlignment="Center" HorizontalAlignment="Center">
        <TextBlock Text="Provide text to write to file:"></TextBlock>
        <TextBox Name="UserText" Width="400"></TextBox>
        <Button Name="CreateButton" Content="Create File" Click="CreateButton_Click"></Button>
        <Button Name="VerifyButton" Content="Verify Contents" Click="VerifyButton_Click"></Button>
        <TextBlock Name="Results"></TextBlock>
    </StackPanel>
</Page>

Opmerkingen

Note

In Visual Basic en C# kunt u deze methode aanroepen als een instantiemethode voor elk object van het type <xref:Windows.Storage.IStorageFile>. Wanneer u de syntaxis van de instantiemethode gebruikt om deze methode aan te roepen, laat u de eerste parameter weg. Zie Extension Methods (Visual Basic) of Extension Methods (C# Programming Guide) voor meer informatie.

Van toepassing op

OpenStreamForWriteAsync(IStorageFolder, String, CreationCollisionOption)

Belangrijk

Deze API is niet CLS-conform.

Hiermee wordt een stream opgehaald voor het schrijven naar een bestand in de opgegeven bovenliggende map.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Threading::Tasks::Task<System::IO::Stream ^> ^ OpenStreamForWriteAsync(Windows::Storage::IStorageFolder ^ rootDirectory, System::String ^ relativePath, Windows::Storage::CreationCollisionOption creationCollisionOption);
[System.CLSCompliant(false)]
public static System.Threading.Tasks.Task<System.IO.Stream> OpenStreamForWriteAsync(this Windows.Storage.IStorageFolder rootDirectory, string relativePath, Windows.Storage.CreationCollisionOption creationCollisionOption);
[<System.CLSCompliant(false)>]
static member OpenStreamForWriteAsync : Windows.Storage.IStorageFolder * string * Windows.Storage.CreationCollisionOption -> System.Threading.Tasks.Task<System.IO.Stream>
<Extension()>
Public Function OpenStreamForWriteAsync (rootDirectory As IStorageFolder, relativePath As String, creationCollisionOption As CreationCollisionOption) As Task(Of Stream)

Parameters

rootDirectory
Windows.Storage.IStorageFolder

Het Windows Runtime Windows.Storage.IStorageFile-object dat het bestand bevat waarnaar moet worden geschreven.

relativePath
String

Het pad, ten opzichte van de hoofdmap, naar het bestand waarnaar moet worden geschreven.

creationCollisionOption
Windows.Storage.CreationCollisionOption

De Windows Runtime Windows.Storage.CreationCollisionOption opsommingswaarde die het gedrag aangeeft dat moet worden gebruikt wanneer de naam van het bestand dat moet worden gemaakt, hetzelfde is als de naam van een bestaand bestand.

Retouren

Een taak die de asynchrone schrijfbewerking vertegenwoordigt.

Kenmerken

Uitzonderingen

rootDirectory of relativePath is null.

relativePath is leeg of bevat alleen spatietekens.

Het bestand kan niet worden geopend of opgehaald als een stream.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een bestand opent als een Stream in een Windows Store-app en ernaar schrijft met behulp van een exemplaar van de klasse StreamReader.

using System;
using System.IO;
using Windows.Storage;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace ExampleApplication
{
    public sealed partial class BlankPage : Page
    {
        public BlankPage()
        {
            this.InitializeComponent();
        }

        private async void CreateButton_Click(object sender, RoutedEventArgs e)
        {
            using (StreamWriter writer =
                new StreamWriter(await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync(
                "testfile.txt",  CreationCollisionOption.OpenIfExists)))
            {
                await writer.WriteLineAsync("new entry");
                await writer.WriteLineAsync(UserText.Text);
            }
        }

        private async void VerifyButton_Click(object sender, RoutedEventArgs e)
        {
            StorageFile openedFile = await ApplicationData.Current.LocalFolder.GetFileAsync("testfile.txt");
            using (StreamReader reader = new StreamReader(await openedFile.OpenStreamForReadAsync()))
            {
                Results.Text = await reader.ReadToEndAsync();
            }
        }
    }
}
Imports System.IO
Imports Windows.Storage

NotInheritable Public Class BlankPage
    Inherits Page

    Private Async Sub CreateButton_Click(sender As Object, e As RoutedEventArgs)
        Using writer As StreamWriter =
               New StreamWriter(Await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync(
               "testfile.txt", CreationCollisionOption.OpenIfExists))
            Await writer.WriteLineAsync("new entry")
            Await writer.WriteLineAsync(UserText.Text)
        End Using
    End Sub

    Private Async Sub VerifyButton_Click(sender As Object, e As RoutedEventArgs)
        Dim openedFile As StorageFile = Await ApplicationData.Current.LocalFolder.GetFileAsync("testfile.txt")
        Using reader As StreamReader = New StreamReader(Await openedFile.OpenStreamForReadAsync())
            Results.Text = Await reader.ReadToEndAsync()
        End Using
    End Sub
End Class

In het volgende voorbeeld ziet u de XAML-code die is gekoppeld aan het vorige voorbeeld.

<Page
    x:Class="ExampleApplication.BlankPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:ExampleApplication"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <StackPanel Background="{StaticResource ApplicationPageBackgroundBrush}" VerticalAlignment="Center" HorizontalAlignment="Center">
        <TextBlock Text="Provide text to write to file:"></TextBlock>
        <TextBox Name="UserText" Width="400"></TextBox>
        <Button Name="CreateButton" Content="Create File" Click="CreateButton_Click"></Button>
        <Button Name="VerifyButton" Content="Verify Contents" Click="VerifyButton_Click"></Button>
        <TextBlock Name="Results"></TextBlock>
    </StackPanel>
</Page>

Opmerkingen

Note

In Visual Basic en C# kunt u deze methode aanroepen als een instantiemethode voor elk object van het type <xref:Windows.Storage.IStorageFolder>. Wanneer u de syntaxis van de instantiemethode gebruikt om deze methode aan te roepen, laat u de eerste parameter weg. Zie Extension Methods (Visual Basic) of Extension Methods (C# Programming Guide) voor meer informatie.

Van toepassing op