■ FileSavePicker 클래스를 사용해 파일을 비동기로 저장하는 방법을 보여준다.
▶ FileSavePicker 클래스 : 파일 비동기 저장하기 예제 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; ... private TextBox textBox; ... #region Save 버튼 클릭시 처리하기 - saveButton_Click(sender, e) /// <summary> /// Save 버튼 클릭시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private async void saveButton_Click(object sender, RoutedEventArgs e) { await SaveFileAsync(this.textBox.Text); } #endregion |
▶ FileSavePicker 클래스 : 파일 비동기 저장하기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
using System.Threading.Tasks; using Windows.Storage; using Windows.Storage.Pickers; using Windows.Storage.Streams; #region 파일 비동기 저장하기 - SaveFileAsync(source) /// <summary> /// 파일 비동기 저장하기 /// </summary> /// <param name="source">소스 문자열</param> /// <returns>태스크</returns> public async Task SaveFileAsync(string source) { FileSavePicker fileSavePicker = new FileSavePicker(); fileSavePicker.DefaultFileExtension = ".txt"; fileSavePicker.FileTypeChoices.Add("Text", new List<string> { ".txt" }); StorageFile storageFile = await fileSavePicker.PickSaveFileAsync(); if(storageFile == null) { return; } using(IRandomAccessStream randomAccessStream = await storageFile.OpenAsync(FileAccessMode.ReadWrite)) { using(DataWriter dataWriter = new DataWriter(randomAccessStream)) { dataWriter.WriteString(source); await dataWriter.StoreAsync(); } } } #endregion |