Bagikan melalui


WindowsRuntimeStreamExtensions Kelas

Definisi

Berisi metode ekstensi untuk mengonversi antara aliran di Windows Runtime dan aliran terkelola di aplikasi .NET untuk Windows Store.

public ref class WindowsRuntimeStreamExtensions abstract sealed
public static class WindowsRuntimeStreamExtensions
[System.Security.SecurityCritical]
public static class WindowsRuntimeStreamExtensions
type WindowsRuntimeStreamExtensions = class
[<System.Security.SecurityCritical>]
type WindowsRuntimeStreamExtensions = class
Public Module WindowsRuntimeStreamExtensions
Warisan
WindowsRuntimeStreamExtensions
Atribut

Contoh

Contoh berikut menunjukkan cara menggunakan AsStreamForWrite dan AsStreamForRead

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

Berikut adalah kode XAML yang terkait dengan contoh sebelumnya.

<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>

Keterangan

Metode ekstensi ini hanya tersedia ketika Anda mengembangkan aplikasi Windows Store. Metode ini menyediakan cara mudah untuk bekerja dengan aliran di aplikasi Windows Store. Anda tidak membuat instans WindowsRuntimeStreamExtensions kelas; sebagai gantinya, Anda menggunakan metode ini dari instans IInputStream antarmuka dan IOutputStream dan Stream kelas .

Kelas WindowsRuntimeStreamExtensions berisi dua metode untuk mengonversi objek terkelola Stream ke aliran di Windows Runtime:

Kelas WindowsRuntimeStreamExtensions berisi tiga metode yang kelebihan beban untuk mengonversi aliran di Windows Runtime menjadi Stream objek:

Dimulai dengan .NET Framework 4.5.1, WindowsRuntimeStreamExtensions kelas berisi metode untuk mengonversi aliran ke Windows Runtime RandomAccessStream:

Metode

AsInputStream(Stream)

Mengonversi aliran terkelola di aplikasi .NET untuk Windows Store ke aliran input di Windows Runtime.

AsOutputStream(Stream)

Mengonversi aliran terkelola di .NET untuk aplikasi Windows Store ke aliran output di Windows Runtime.

AsRandomAccessStream(Stream)

Mengonversi aliran yang ditentukan menjadi aliran akses acak.

AsStream(IRandomAccessStream)

Mengonversi aliran akses acak di Windows Runtime ke aliran terkelola di aplikasi .NET untuk Windows Store.

AsStream(IRandomAccessStream, Int32)

Mengonversi aliran akses acak di Windows Runtime ke aliran terkelola di aplikasi .NET untuk Windows Store menggunakan ukuran buffer yang ditentukan.

AsStreamForRead(IInputStream)

Mengonversi aliran input di Windows Runtime ke aliran terkelola di aplikasi .NET untuk Windows Store.

AsStreamForRead(IInputStream, Int32)

Mengonversi aliran input di Windows Runtime ke aliran terkelola di .NET untuk aplikasi Windows 8.x Store menggunakan ukuran buffer yang ditentukan.

AsStreamForWrite(IOutputStream)

Mengonversi aliran output di Windows Runtime ke aliran terkelola di .NET untuk aplikasi Windows 8.x Store.

AsStreamForWrite(IOutputStream, Int32)

Mengonversi aliran output di Windows Runtime ke aliran terkelola di aplikasi .NET untuk Windows Store menggunakan ukuran buffer yang ditentukan.

Berlaku untuk