이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

Stream.WriteAsync 메서드 (Byte[], Int32, Int32)

.NET Framework (current version)
 

게시 날짜: 2016년 11월

현재 스트림에 바이트 시퀀스를 비동기적으로 쓰고 쓴 바이트 수만큼 이 스트림에서 현재 위치를 앞으로 이동합니다.

네임스페이스:   System.IO
어셈블리:  mscorlib(mscorlib.dll에 있음)

[ComVisibleAttribute(false)]
[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)]
public Task WriteAsync(
	byte[] buffer,
	int offset,
	int count
)

매개 변수

buffer
Type: System.Byte[]

데이터를 쓸 버퍼입니다.

offset
Type: System.Int32

스트림으로 바이트를 복사하기 시작할 buffer의 바이트 오프셋(0부터 시작)입니다.

count
Type: System.Int32

쓸 최대 바이트 수입니다.

반환 값

Type: System.Threading.Tasks.Task

비동기 쓰기 작업을 나타내는 작업입니다.

Exception Condition
ArgumentNullException

buffernull인 경우

ArgumentOutOfRangeException

offset 또는 count가 음수입니다.

ArgumentException

offsetcount의 합계가 버퍼 길이보다 큽니다.

NotSupportedException

스트림이 쓰기를 지원하지 않습니다.

ObjectDisposedException

스트림이 삭제되었습니다.

InvalidOperationException

이전 쓰기 작업에서 현재 이 스트림을 사용하고 있습니다.

WriteAsync 메서드를 사용 하면 주 스레드를 차단 하지 않고 리소스 집중형 I/O 작업을 수행할 수 있습니다. 이 성능 고려 사항은 특히 시간이 소비되는 스트림 작업이 UI 스레드를 차단하고 응용 프로그램이 작동하지 않는 것처럼 표시할 수 있는 Windows 8.x 스토어 응용 프로그램 또는 데스크톱 응용 프로그램에서 중요합니다. 비동기 메서드를 함께에서 사용 되는 asyncawait Visual Basic 및 C# 키워드.

사용 된 CanWrite 속성을 현재 인스턴스가 쓰기를 지원 하는지 여부를 결정 합니다.

다음 예제에서는 파일에 비동기적으로 작성 하는 방법을 보여 줍니다. 이 예제에서는 사용 된 FileStream 클래스에서 파생 되는 Stream 클래스.

using System;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.IO;

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            UnicodeEncoding uniencoding = new UnicodeEncoding();
            string filename = @"c:\Users\exampleuser\Documents\userinputlog.txt";

            byte[] result = uniencoding.GetBytes(UserInput.Text);

            using (FileStream SourceStream = File.Open(filename, FileMode.OpenOrCreate))
            {
                SourceStream.Seek(0, SeekOrigin.End);
                await SourceStream.WriteAsync(result, 0, result.Length);
            }
        }
    }
}

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
4.5 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Windows Phone Silverlight
8.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능
맨 위로 이동
표시: