WindowsRuntimeStreamExtensions Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |