如何在 UWP 文本框中打开大文本文件?

问题描述 投票:0回答:1

我想打开大文本文件(1MB 及以上)。我可以用我的代码打开 500KB-700KB 大小的文本文件。如何打开 1MB 及以上 文本文件。

我的文件打开密码:

FileOpenPicker openPicker = new FileOpenPicker()
{
    ViewMode = PickerViewMode.Thumbnail,
    SuggestedStartLocation = PickerLocationId.DocumentsLibrary
};
openPicker.FileTypeFilter.Add(".txt");

StorageFile storageFile = await openPicker.PickSingleFileAsync();
if (storageFile != null)
{
    var stream = await storageFile.OpenAsync(FileAccessMode.ReadWrite);
    using (StreamReader sReader = new StreamReader(stream.AsStream()))
    {
        TextBox.Text = sReader.ReadToEnd();
     }
}
c# xaml uwp
1个回答
0
投票

您可以使用RichTextBlock

在我的测试中,打开一个2MB的文本文件需要3到4秒,并且窗口没有反应迟钝,实际效果比

TextBlock
RichEditBox
好。

<RichTextBlock x:Name="richTextBlock" .../>

FileOpenPicker openPicker = new FileOpenPicker()
{
    ViewMode = PickerViewMode.Thumbnail,
    SuggestedStartLocation = PickerLocationId.DocumentsLibrary
};
openPicker.FileTypeFilter.Add(".txt");

StorageFile storageFile = await openPicker.PickSingleFileAsync();

if (storageFile != null)
{
    var stream = await storageFile.OpenAsync(FileAccessMode.ReadWrite);
    using (StreamReader sReader = new StreamReader(stream.AsStream()))
    {
        //get all data
        var stringText  = sReader.ReadToEnd();

        Run run = new Run();
        run.Text = stringText; 
        Paragraph paragraph = new Paragraph();
        paragraph.Inlines.Add(run); 
    
        richTextBlock.Blocks.Add(paragraph);
                
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.