첨부 소스 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

▶ FileOpenPicker 클래스 : 파일 비동기 로드하기 예제

using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

...

private TextBox textBox;

...

#region Open 버튼 클릭시 처리하기 - openButton_Click(sender, e)

/// <summary>
/// Open 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private async void openButton_Click(object sender, RoutedEventArgs e)
{
    this.textBox.Text = await LoadFileAsync();
}

#endregion

 

728x90

 

▶ FileOpenPicker 클래스 : 파일 비동기 로드하기

using System.Threading.Tasks;
using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.Storage.Streams;

#region 파일 비동기 로드하기 - LoadFileAsync()

/// <summary>
/// 파일 비동기 로드하기
/// </summary>
/// <returns>문자열 태스크</returns>
public async Task<string> LoadFileAsync()
{
    FileOpenPicker fileOpenPicker = new FileOpenPicker();

    fileOpenPicker.FileTypeFilter.Add(".txt");

    StorageFile storageFile = await fileOpenPicker.PickSingleFileAsync();

    if(storageFile == null)
    {
        return null;
    }

    using(IRandomAccessStream randomAccessStream = await storageFile.OpenReadAsync())
    {
        using(DataReader dataReader = new DataReader(randomAccessStream))
        {
            uint streamSize = (uint)randomAccessStream.Size;

            await dataReader.LoadAsync(streamSize);

            return dataReader.ReadString(streamSize);
        }
    }
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요