WindowsRuntimeStreamExtensions.AsStreamForWrite 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
AsStreamForWrite(IOutputStream) |
Windows 런타임의 출력 스트림을 Windows 8.x 스토어 앱용 .NET의 관리형 스트림으로 변환합니다. |
AsStreamForWrite(IOutputStream, Int32) |
지정된 버퍼 크기를 사용하여 Windows 런타임의 출력 스트림을 Windows 스토어 앱용 .NET의 관리형 스트림으로 변환합니다. |
AsStreamForWrite(IOutputStream)
중요
이 API는 CLS 규격이 아닙니다.
Windows 런타임의 출력 스트림을 Windows 8.x 스토어 앱용 .NET의 관리형 스트림으로 변환합니다.
public:
[System::Runtime::CompilerServices::Extension]
static System::IO::Stream ^ AsStreamForWrite(Windows::Storage::Streams::IOutputStream ^ windowsRuntimeStream);
[System.CLSCompliant(false)]
public static System.IO.Stream AsStreamForWrite (this Windows.Storage.Streams.IOutputStream windowsRuntimeStream);
[<System.CLSCompliant(false)>]
static member AsStreamForWrite : Windows.Storage.Streams.IOutputStream -> System.IO.Stream
<Extension()>
Public Function AsStreamForWrite (windowsRuntimeStream As IOutputStream) As Stream
매개 변수
- windowsRuntimeStream
- IOutputStream
변환할 Windows 런타임 IOutputStream 개체입니다.
반환
변환된 스트림입니다.
- 특성
예외
windowsRuntimeStream
이(가) null
인 경우
예제
다음 예제에서는 사용 AsStreamForWrite 하는 방법을 보여 줍니다는 및 AsStreamForRead 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();
}
}
}
}
}
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
다음은 이전 예제와 연결된 XAML 코드입니다.
<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>
설명
참고
Visual Basic 및 C#에서는 형식Stream의 모든 개체에서 이 메서드를 instance 메서드로 호출할 수 있습니다. 인스턴스 메서드 구문을 사용하여 이 메서드를 호출할 경우에는 첫 번째 매개 변수를 생략합니다. 자세한 내용은 확장 메서드(Visual Basic) 또는 확장 메서드(C# 프로그래밍 가이드)를 참조하세요.
스트림을 변환할 때 기본 버퍼 크기는 16,384바이트입니다. 다른 버퍼 크기를 지정하려면 오버로드를 AsStreamForWrite(IOutputStream, Int32) 사용합니다.
적용 대상
AsStreamForWrite(IOutputStream, Int32)
중요
이 API는 CLS 규격이 아닙니다.
지정된 버퍼 크기를 사용하여 Windows 런타임의 출력 스트림을 Windows 스토어 앱용 .NET의 관리형 스트림으로 변환합니다.
public:
[System::Runtime::CompilerServices::Extension]
static System::IO::Stream ^ AsStreamForWrite(Windows::Storage::Streams::IOutputStream ^ windowsRuntimeStream, int bufferSize);
[System.CLSCompliant(false)]
public static System.IO.Stream AsStreamForWrite (this Windows.Storage.Streams.IOutputStream windowsRuntimeStream, int bufferSize);
[<System.CLSCompliant(false)>]
static member AsStreamForWrite : Windows.Storage.Streams.IOutputStream * int -> System.IO.Stream
<Extension()>
Public Function AsStreamForWrite (windowsRuntimeStream As IOutputStream, bufferSize As Integer) As Stream
매개 변수
- windowsRuntimeStream
- IOutputStream
변환할 Windows 런타임 IOutputStream 개체입니다.
- bufferSize
- Int32
버퍼의 크기(바이트)입니다. 이 값은 음수일 수는 없지만 버퍼링을 사용하지 않도록 0일 수는 있습니다.
반환
변환된 스트림입니다.
- 특성
예외
windowsRuntimeStream
은 null
입니다.
bufferSize
가 음수입니다.
설명
참고
Visual Basic 및 C#에서는 형식Stream의 모든 개체에서 이 메서드를 instance 메서드로 호출할 수 있습니다. 인스턴스 메서드 구문을 사용하여 이 메서드를 호출할 경우에는 첫 번째 매개 변수를 생략합니다. 자세한 내용은 확장 메서드(Visual Basic) 또는 확장 메서드(C# 프로그래밍 가이드)를 참조하세요.
이 메서드를 사용하여 스트림을 변환할 때 버퍼 크기를 지정합니다. 기본 버퍼 크기 16,384바이트를 사용하려면 오버로드를 AsStreamForWrite(IOutputStream) 사용합니다.
대부분의 경우 버퍼링은 스트림 작업의 성능을 향상시킵니다. 버퍼링을 0으로 설정 bufferSize
하여 버퍼링을 사용하지 않도록 설정할 수 있지만 버퍼링을 사용하지 않도록 설정하는 것이 상황에 적합한 경우에만 이 작업을 수행해야 합니다.
적용 대상
.NET