WindowsRuntimeStreamExtensions Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zawiera metody rozszerzenia służące do konwertowania między strumieniami w strumieniach środowisko wykonawcze systemu Windows i zarządzanych w aplikacjach ze Sklepu Windows na platformie .NET.
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
- Dziedziczenie
-
WindowsRuntimeStreamExtensions
- Atrybuty
Przykłady
W poniższym przykładzie pokazano, jak używać elementów AsStreamForWrite i 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
Oto kod XAML skojarzony z poprzednim przykładem.
<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>
Uwagi
Te metody rozszerzenia są dostępne tylko podczas tworzenia aplikacji ze Sklepu Windows. Metody zapewniają wygodne sposoby pracy ze strumieniami w aplikacjach ze Sklepu Windows. Nie tworzy się wystąpienia WindowsRuntimeStreamExtensions
klasy . Zamiast tego należy użyć tych metod z wystąpień interfejsów IInputStream i IOutputStream i Stream klasy .
Klasa WindowsRuntimeStreamExtensions
zawiera dwie metody konwertowania obiektu zarządzanego Stream na strumień w środowisko wykonawcze systemu Windows:
Klasa WindowsRuntimeStreamExtensions
zawiera trzy przeciążone metody konwertowania strumienia w środowisko wykonawcze systemu Windows na Stream obiekt:
Począwszy od .NET Framework 4.5.1, WindowsRuntimeStreamExtensions
klasa zawiera metodę konwertowania strumienia na środowisko wykonawcze systemu Windows RandomAccessStream:
Metody
AsInputStream(Stream) |
Konwertuje strumień zarządzany na platformie .NET dla aplikacji ze Sklepu Windows na strumień wejściowy w środowisko wykonawcze systemu Windows. |
AsOutputStream(Stream) |
Konwertuje strumień zarządzany na platformie .NET dla aplikacji ze Sklepu Windows na strumień wyjściowy w środowisko wykonawcze systemu Windows. |
AsRandomAccessStream(Stream) |
Konwertuje określony strumień na strumień o dostępie losowym. |
AsStream(IRandomAccessStream) |
Konwertuje strumień dostępu losowego w środowisko wykonawcze systemu Windows na strumień zarządzany na platformie .NET dla aplikacji ze Sklepu Windows. |
AsStream(IRandomAccessStream, Int32) |
Konwertuje strumień dostępu losowego w środowisko wykonawcze systemu Windows na strumień zarządzany na platformie .NET dla aplikacji ze Sklepu Windows przy użyciu określonego rozmiaru buforu. |
AsStreamForRead(IInputStream) |
Konwertuje strumień wejściowy w środowisko wykonawcze systemu Windows na strumień zarządzany na platformie .NET dla aplikacji ze Sklepu Windows. |
AsStreamForRead(IInputStream, Int32) |
Konwertuje strumień wejściowy w środowisko wykonawcze systemu Windows na zarządzany strumień na platformie .NET dla aplikacji ze sklepu Windows 8.x przy użyciu określonego rozmiaru buforu. |
AsStreamForWrite(IOutputStream) |
Konwertuje strumień wyjściowy w środowisko wykonawcze systemu Windows na zarządzany strumień na platformie .NET dla aplikacji ze sklepu Windows 8.x. |
AsStreamForWrite(IOutputStream, Int32) |
Konwertuje strumień wyjściowy w środowisko wykonawcze systemu Windows na strumień zarządzany na platformie .NET dla aplikacji ze Sklepu Windows przy użyciu określonego rozmiaru buforu. |