WindowsRuntimeStreamExtensions.AsStreamForWrite WindowsRuntimeStreamExtensions.AsStreamForWrite WindowsRuntimeStreamExtensions.AsStreamForWrite WindowsRuntimeStreamExtensions.AsStreamForWrite Method

Definition

Überlädt

AsStreamForWrite(IOutputStream) AsStreamForWrite(IOutputStream) AsStreamForWrite(IOutputStream) AsStreamForWrite(IOutputStream)

Konvertiert einen Ausgabestream in der Windows-Runtime in einen verwalteten Stream in .NET für Store-Apps für Windows 8.x.Converts an output stream in the Windows Runtime to a managed stream in the .NET for Windows 8.x Store apps.

AsStreamForWrite(IOutputStream, Int32) AsStreamForWrite(IOutputStream, Int32) AsStreamForWrite(IOutputStream, Int32) AsStreamForWrite(IOutputStream, Int32)

Konvertiert einen Ausgabestream in der Windows-Runtime mithilfe der angegebenen Puffergröße in einen verwalteten Stream in .NET für Microsoft Store-Apps.Converts an output stream in the Windows Runtime to a managed stream in the .NET for Windows Store apps using the specified buffer size.

AsStreamForWrite(IOutputStream) AsStreamForWrite(IOutputStream) AsStreamForWrite(IOutputStream) AsStreamForWrite(IOutputStream)

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert einen Ausgabestream in der Windows-Runtime in einen verwalteten Stream in .NET für Store-Apps für Windows 8.x.Converts an output stream in the Windows Runtime to a managed stream in the .NET for Windows 8.x Store apps.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Stream ^ AsStreamForWrite(Windows::Storage::Streams::IOutputStream ^ windowsRuntimeStream);
[System.CLSCompliant(false)]
public static System.IO.Stream AsStreamForWrite (this Windows.Storage.Streams.IOutputStream windowsRuntimeStream);
static member AsStreamForWrite : Windows.Storage.Streams.IOutputStream -> System.IO.Stream
<Extension()>
Public Function AsStreamForWrite (windowsRuntimeStream As IOutputStream) As Stream

Parameter

windowsRuntimeStream
IOutputStream IOutputStream IOutputStream IOutputStream

Das Windows-Runtime--Objekt, das konvertiert werden soll.The Windows Runtime object to convert.

Gibt zurück

Die konvertierte Stream.The converted stream.

Ausnahmen

windowsRuntimeStream ist null.windowsRuntimeStream is null.

Beispiele

Das folgende Beispiel zeigt, wie Sie mit der AsStreamForWrite und AsStreamForRead Methoden, um einen verwalteten Stream in und aus einem Stream in der Windows-Runtime konvertieren.The following example shows how to use the AsStreamForWrite and AsStreamForRead methods to convert a managed stream to and from a stream in the Windows Runtime.

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("testfile.txt");
            var streamNewFile = await newFile.OpenAsync(FileAccessMode.ReadWrite);

            using (var outputNewFile = streamNewFile.GetOutputStreamAt(0))
            {
                using (StreamWriter writer = new StreamWriter(outputNewFile.AsStreamForWrite()))
                {
                    await writer.WriteLineAsync("content for new file");
                    await writer.WriteLineAsync(UserText.Text);
                }
            }
        }

        private async void VerifyButton_Click(object sender, RoutedEventArgs e)
        {
            StorageFile openedFile = await ApplicationData.Current.LocalFolder.GetFileAsync("testfile.txt");
            var streamOpenedFile = await openedFile.OpenAsync(FileAccessMode.Read);

            using (var inputOpenedFile = streamOpenedFile.GetInputStreamAt(0))
            {
                using (StreamReader reader = new StreamReader(inputOpenedFile.AsStreamForRead()))
                {
                    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("testfile.txt")
        Dim streamNewFile = Await newFile.OpenAsync(FileAccessMode.ReadWrite)

        Using outputNewFile = streamNewFile.GetOutputStreamAt(0)
            Using writer As StreamWriter = New StreamWriter(outputNewFile.AsStreamForWrite())
                Await writer.WriteLineAsync("content for new file")
                Await writer.WriteLineAsync(UserText.Text)
            End Using
        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")
        Dim streamOpenedFile = Await openedFile.OpenAsync(FileAccessMode.Read)

        Using inputOpenedFile = streamOpenedFile.GetInputStreamAt(0)

            Using reader As StreamReader = New StreamReader(inputOpenedFile.AsStreamForRead())
                Results.Text = Await reader.ReadToEndAsync()
            End Using
        End Using
    End Sub
End Class

Hier ist der XAML-Code, der im vorherigen Beispiel zugeordnet ist.Here's 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>

Hinweise

Hinweis

In Visual Basic und C#, Sie können diese Methode aufrufen, wie eine Instanzmethode auf ein beliebiges Objekt vom Typ Stream.In Visual Basic and C#, you can call this method as an instance method on any object of type Stream. Bei Verwendung der Syntax für Instanzenmethoden lassen Sie den ersten Parameter aus.When you use instance method syntax to call this method, omit the first parameter. Weitere Informationen finden Sie unter Erweiterungsmethoden (Visual Basic) oder Extension Methods (C# Programming Guide).For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Eine Standardpuffergröße von 16.384 Bytes wird verwendet, wenn es sich bei den Stream zu konvertieren.A default buffer size of 16,384 bytes is used when converting the stream. Verwenden Sie zum Angeben einer anderen Puffergröße der AsStreamForWrite(IOutputStream, Int32) überladen.To specify a different buffer size, use the AsStreamForWrite(IOutputStream, Int32) overload.

AsStreamForWrite(IOutputStream, Int32) AsStreamForWrite(IOutputStream, Int32) AsStreamForWrite(IOutputStream, Int32) AsStreamForWrite(IOutputStream, Int32)

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert einen Ausgabestream in der Windows-Runtime mithilfe der angegebenen Puffergröße in einen verwalteten Stream in .NET für Microsoft Store-Apps.Converts an output stream in the Windows Runtime to a managed stream in the .NET for Windows Store apps using the specified buffer size.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Stream ^ AsStreamForWrite(Windows::Storage::Streams::IOutputStream ^ windowsRuntimeStream, int bufferSize);
[System.CLSCompliant(false)]
public static System.IO.Stream AsStreamForWrite (this Windows.Storage.Streams.IOutputStream windowsRuntimeStream, int bufferSize);
static member AsStreamForWrite : Windows.Storage.Streams.IOutputStream * int -> System.IO.Stream
<Extension()>
Public Function AsStreamForWrite (windowsRuntimeStream As IOutputStream, bufferSize As Integer) As Stream

Parameter

windowsRuntimeStream
IOutputStream IOutputStream IOutputStream IOutputStream

Das Windows-Runtime-IOutputStream-Objekt, das konvertiert werden soll.The Windows Runtime IOutputStream object to convert.

bufferSize
Int32 Int32 Int32 Int32

Die Größe des Cookies in Bytes.The size, in bytes, of the buffer. Dieser Wert kann nicht negativ sein, aber er kann 0 (null) sein, um die Pufferung zu deaktivieren.This value cannot be negative, but it can be 0 (zero) to disable buffering.

Gibt zurück

Die konvertierte Stream.The converted stream.

Ausnahmen

windowsRuntimeStream ist null.windowsRuntimeStream is null.

Hinweise

Hinweis

In Visual Basic und C#, Sie können diese Methode aufrufen, wie eine Instanzmethode auf ein beliebiges Objekt vom Typ Stream.In Visual Basic and C#, you can call this method as an instance method on any object of type Stream. Bei Verwendung der Syntax für Instanzenmethoden lassen Sie den ersten Parameter aus.When you use instance method syntax to call this method, omit the first parameter. Weitere Informationen finden Sie unter Erweiterungsmethoden (Visual Basic) oder Extension Methods (C# Programming Guide).For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Sie können diese Methode verwenden, um eine Puffergröße zu geben, wenn Sie den Stream zu konvertieren.You use this method to specify a buffer size when converting the stream. Um die Standardpuffergröße von 16.384 Bytes zu verwenden, verwenden die AsStreamForWrite(IOutputStream) überladen.To use the default buffer size of 16,384 bytes, use the AsStreamForWrite(IOutputStream) overload.

In den meisten Fällen verbessert Pufferung die Leistung von Stream-Vorgänge aus.In most situations, buffering improves the performance of stream operations. Sie können die Pufferung durch das Festlegen von deaktivieren bufferSize 0 (null), aber Sie sollten dies tun, nur, wenn Sie sicher sind, dass das Deaktivieren der Pufferung für Ihre Situation geeignet ist.You can disable buffering by setting bufferSize to zero, but you should do this only when you are sure that disabling buffering is appropriate for your situation.

Gilt für: