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 .NET untuk aplikasi Windows Store.
public ref class WindowsRuntimeStreamExtensions abstract sealed
[System.Security.SecurityCritical]
public static class WindowsRuntimeStreamExtensions
[<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 saat Anda mengembangkan aplikasi Windows Store. Metode ini menyediakan cara mudah untuk bekerja dengan aliran di aplikasi Windows Store. Anda tidak membuat instans kelas WindowsRuntimeStreamExtensions
; sebagai gantinya, Anda menggunakan metode ini dari instans antarmuka IInputStream dan IOutputStream dan kelas Stream.
Kelas WindowsRuntimeStreamExtensions
berisi dua metode untuk mengonversi objek Stream terkelola ke aliran di Windows Runtime:
Kelas WindowsRuntimeStreamExtensions
berisi tiga metode yang kelebihan beban untuk mengonversi aliran di Windows Runtime ke objek Stream:
Dimulai dengan .NET Framework 4.5.1, kelas WindowsRuntimeStreamExtensions
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 aplikasi .NET untuk Windows Store ke aliran output di Windows Runtime. |
AsRandomAccessStream(Stream) |
Mengonversi aliran yang ditentukan ke aliran akses acak. |
AsStream(IRandomAccessStream, Int32) |
Mengonversi aliran akses acak di Windows Runtime ke aliran terkelola di aplikasi .NET untuk Windows Store menggunakan ukuran buffer yang ditentukan. |
AsStream(IRandomAccessStream) |
Mengonversi aliran akses acak 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 aplikasi .NET untuk Windows 8.x Store menggunakan ukuran buffer yang ditentukan. |
AsStreamForRead(IInputStream) |
Mengonversi aliran input di Windows Runtime ke aliran terkelola di aplikasi .NET untuk Windows Store. |
AsStreamForWrite(IOutputStream, Int32) |
Mengonversi aliran output di Windows Runtime ke aliran terkelola di aplikasi .NET untuk Windows Store menggunakan ukuran buffer yang ditentukan. |
AsStreamForWrite(IOutputStream) |
Mengonversi aliran output di Windows Runtime ke aliran terkelola di aplikasi .NET untuk Windows 8.x Store. |