簡體   English   中英

如何顯示文本塊中文本文件中的文本? Xaml,BlankApp,Window8

[英]How can i show text from a textfile in a textblock? Xaml, BlankApp, Window8

我最近想了解更多關於fileOpenPickers的信息,並決定創建一個項目。 我做了一個FilOpenPicker。 當我從FileOpenPicker中選擇一些文本文件時,我想在文本塊中顯示它。 但是我真的不知道該怎么做。 此外,我有一個保存按鈕和一個打開按鈕。 當我按保存時,它必須將OpenFilePicker中的文本保存在計算機上的某個位置。 我寫了一些代碼,但是一點都不好。

這是我的代碼:

private async void btnOpen_Click(object sender, RoutedEventArgs e)
{
    FileOpenPicker picker = new FileOpenPicker();
    picker.FileTypeFilter.Add(".log");
    StorageFile result = await picker.PickSingleFileAsync();

    if (result != null)
    {
        try
        {
            await FileIO.WriteTextAsync(result, txtInhoud.Text);
            txtInhoud.Text = result.ToString(); 
        }
        catch (Exception )
        {
            txtInhoud.Text = result.ToString(); 
        }
    }

}

private async void  btnSave_Click(object sender, RoutedEventArgs e)
{
    StorageFolder folder = ApplicationData.Current.RoamingFolder;
    StorageFile file = await folder.CreateFileAsync("MyFolder\\MyFile.txt",
    CreationCollisionOption.ReplaceExisting);
    if (file != null)
    {
        await FileIO.WriteTextAsync(file, "data");
    }
}

希望您能幫幫我! 對不起,我的英語不好。

通過打開文件選擇器的方式,我假設您的目標是Windows Phone 8.0 Silverlight?

在這種情況下, FileIO.WriteTextAsync方法將不起作用,因為它特定於WinRT平台。 而是,使用StorageFile.OpenAsync方法並傳遞ReadReadWrite作為訪問模式。 兩種版本都將返回您可以寫入/讀取的流。

例如,用於保存文本框內容的代碼如下所示:

var stream = await file.OpenAsync(FileAccessMode.ReadWrite);
using (var writer = new DataWriter(stream.GetOutputStreamAt(0)))
{
    writer.WriteString(txtInhoud.Text);
    await writer.StoreAsync();
    await writer.FlushAsync();
}

有關更多詳細信息(以及讀取文件的示例),請參閱此博客文章 (“ 寫入文件”和“ 讀取文件”部分 )!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM