Aplicaciones de Windows
Collapse the table of content
Expand the table of content
Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés
Información
El tema que ha solicitado se muestra abajo. Sin embargo, este tema no se encuentra en la biblioteca.

WindowsRuntimeStreamExtensions (Clase)

.NET Framework (current version)

Contiene los métodos de extensión para convertir entre los flujos en el Windows en tiempo de ejecución y las secuencias administradas en .NET para aplicaciones de la Tienda Windows.

System.Object
  System.IO.WindowsRuntimeStreamExtensions

Espacio de nombres:  System.IO
Ensamblado:  System.Runtime.WindowsRuntime (en System.Runtime.WindowsRuntime.dll)

public static class WindowsRuntimeStreamExtensions

El tipo WindowsRuntimeStreamExtensions expone los siguientes miembros.

  NombreDescripción
Método públicoMiembro estáticoAsInputStreamConvierte una secuencia administrada en .NET para aplicaciones de la Tienda Windows a un flujo de entrada en Windows en tiempo de ejecución.
Método públicoMiembro estáticoAsOutputStreamConvierte una secuencia administrada en .NET para aplicaciones de la Tienda Windows a un flujo de salida en Windows en tiempo de ejecución.
Método públicoMiembro estáticoAsRandomAccessStreamConvierte la secuencia especificada en una secuencia de acceso aleatorio.
Método públicoMiembro estáticoAsStream(IRandomAccessStream)Convierte una secuencia de acceso aleatorio en Windows en tiempo de ejecución, en una secuencia administrada en .NET para aplicaciones de la Tienda Windows.
Método públicoMiembro estáticoAsStream(IRandomAccessStream, Int32)Convierte una secuencia de acceso aleatorio en Windows en tiempo de ejecución en una secuencia administrada en .NET para aplicaciones de la Tienda Windows mediante el tamaño de búfer especificado.
Método públicoMiembro estáticoAsStreamForRead(IInputStream)Convierte un flujo de entrada en Windows en tiempo de ejecución en un flujo administrado en .NET para aplicaciones de la Tienda Windows.
Método públicoMiembro estáticoAsStreamForRead(IInputStream, Int32)Convierte un flujo de entrada en Windows en tiempo de ejecución en una secuencia administrada en .NET para aplicaciones de la Tienda Windows mediante el tamaño de búfer especificado.
Método públicoMiembro estáticoAsStreamForWrite(IOutputStream)Convierte un flujo de salida en Windows en tiempo de ejecución a un flujo administrado en .NET para aplicaciones de la Tienda Windows.
Método públicoMiembro estáticoAsStreamForWrite(IOutputStream, Int32)Convierte un flujo de salida en Windows en tiempo de ejecución en una secuencia administrada en .NET para aplicaciones de la Tienda Windows mediante el tamaño de búfer especificado.
Arriba

Estos métodos de extensión solo están disponibles al desarrollar aplicaciones de Tienda Windows . Los métodos proporcionan maneras adecuadas para trabajar con secuencias en las aplicaciones de Tienda Windows . No se crea una instancia de la clase de WindowsRuntimeStreamExtensions ; en su lugar, utiliza estos métodos de las instancias de IInputStream y IOutputStream las interfaces y la clase de Stream .

La clase de WindowsRuntimeStreamExtensions contiene dos métodos para convertir un objeto administrado de Stream a una secuencia en Windows en tiempo de ejecución:

La clase de WindowsRuntimeStreamExtensions contiene tres métodos sobrecargados para convertir una secuencia en Windows en tiempo de ejecución a un objeto de Stream :

A partir de .NET Framework 4.5.1, la clase de WindowsRuntimeStreamExtensions contiene un método para convertir una secuencia a Windows en tiempo de ejecución RandomAccessStream:

El ejemplo siguiente se muestra cómo utilizar los métodos de AsStreamForWrite y de AsStreamForRead para convertir una secuencia administrada a y desde una secuencia en Windows en tiempo de ejecución.


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


A continuación se muestra el código XAML asociado al ejemplo anterior.


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


.NET Framework

Compatible con: 4.6, 4.5

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone Silverlight 8

.NET para aplicaciones de la Tienda Windows

Compatible con:

Windows 8,1, Windows Server 2012 R2, Windows 8, Windows Server 2012

.NET Framework no es compatible con todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, consulte Requisitos de sistema de .NET Framework.

Todos los miembros públicos de static (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

Mostrar:
© 2016 Microsoft