信息
您所需的主题如下所示。但此主题未包含在此库中。
此主题尚未评级 - 评价此主题

WindowsRuntimeStreamExtensions 类

.NET Framework 4.5

包含在 Windows 运行时 中的流和在 适用于 Windows 应用商店应用的 .NET 中托管的流之间转换的扩展方法。

System.Object
  System.IO.WindowsRuntimeStreamExtensions

命名空间:  System.IO
程序集:  System.Runtime.WindowsRuntime(在 System.Runtime.WindowsRuntime.dll 中)
public static class WindowsRuntimeStreamExtensions

WindowsRuntimeStreamExtensions 类型公开以下成员。

  名称说明
公共方法静态成员受以下版本支持:适用于 Windows 应用商店应用的 .NETAsInputStream将 适用于 Windows 应用商店应用的 .NET 中一个托管的流转换为 Windows 运行时 中的输入流。
公共方法静态成员受以下版本支持:适用于 Windows 应用商店应用的 .NETAsOutputStream将 适用于 Windows 应用商店应用的 .NET 中一个托管的流转换为 Windows 运行时 中的输出流。
公共方法静态成员受以下版本支持:适用于 Windows 应用商店应用的 .NETAsStream(IRandomAccessStream)将 Windows 运行时 中一个随机访问流转换为 适用于 Windows 应用商店应用的 .NET 中的托管流。
公共方法静态成员受以下版本支持:适用于 Windows 应用商店应用的 .NETAsStream(IRandomAccessStream, Int32)使用指定的缓冲区大小,将 Windows 运行时 中的一个随机访问流转换为 适用于 Windows 应用商店应用的 .NET 中的托管流。
公共方法静态成员受以下版本支持:适用于 Windows 应用商店应用的 .NETAsStreamForRead(IInputStream)将 Windows 运行时 中的输入流转换为 适用于 Windows 应用商店应用的 .NET 中的托管流。
公共方法静态成员受以下版本支持:适用于 Windows 应用商店应用的 .NETAsStreamForRead(IInputStream, Int32)使用指定的缓冲区大小,将 Windows 运行时 中的输入流转换为 适用于 Windows 应用商店应用的 .NET 中的托管流。
公共方法静态成员受以下版本支持:适用于 Windows 应用商店应用的 .NETAsStreamForWrite(IOutputStream)将 Windows 运行时 中输出流转换为 适用于 Windows 应用商店应用的 .NET 中的托管流。
公共方法静态成员受以下版本支持:适用于 Windows 应用商店应用的 .NETAsStreamForWrite(IOutputStream, Int32)使用指定的缓冲区大小,将 Windows 运行时 中的输出流转换为 适用于 Windows 应用商店应用的 .NET 中的托管流。
页首

These extension methods are available only when you develop Windows 应用商店 apps. The methods provide convenient ways of working with streams in Windows 应用商店 apps. You do not create an instance of the WindowsRuntimeStreamExtensions class; instead, you use these methods from instances of the IInputStream and IOutputStream interfaces and the Stream class.

The WindowsRuntimeStreamExtensions class contains two methods for converting a managed Stream object to a stream in the Windows 运行时:

The WindowsRuntimeStreamExtensions class contains three overloaded methods for converting a stream in the Windows 运行时 to a Stream object:

Starting with the .NET Framework 4.5.1, the WindowsRuntimeStreamExtensions class contains a method for converting a stream to a Windows 运行时 RandomAccessStream:

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 运行时.


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();
                }
            }
        }
    }
}


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>


适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 8
此类型的任何公共static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈

社区附加资源

显示:
© 2014 Microsoft. 版权所有。