WindowsRuntimeStorageExtensions::OpenStreamForWriteAsync Method (IStorageFolder, String, CreationCollisionOption)
Retrieves a stream for writing to a file in the specified parent folder.
This API is not CLS-compliant. Namespace: System.IO
Assembly: System.Runtime.WindowsRuntime (in System.Runtime.WindowsRuntime.dll)
[ExtensionAttribute] [CLSCompliantAttribute(false)] public: static Task<Stream^>^ OpenStreamForWriteAsync( IStorageFolder^ rootDirectory, String^ relativePath, CreationCollisionOption creationCollisionOption )
Parameters
- rootDirectory
- Type: IStorageFolder
The Windows Runtime IStorageFolder object that contains the file to write to.
- relativePath
- Type: System::String
The path, relative to the root folder, to the file to write to.
- creationCollisionOption
- Type: CreationCollisionOption
The Windows Runtime CreationCollisionOption enumeration value that specifies the behavior to use when the name of the file to create is the same as the name of an existing file.
Return Value
Type: System.Threading.Tasks::Task<Stream>A task that represents the asynchronous write operation.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type IStorageFolder. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).| Exception | Condition |
|---|---|
| ArgumentNullException | rootDirectory or relativePath is nullptr. |
| ArgumentException | relativePath is empty or contains only white-space characters. |
| IOException | The file could not be opened or retrieved as a stream. |
The following example shows how to open a file in the application data as a Stream in a Windows Store app, and write to it by using an instance of the StreamWriter class.
The next example shows the XAML code that is associated with the previous example.
<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>