2017-05-19 13 views
0

私はこの方法を使用して、私のRichEditBoxにファイルの内容を追加しよう:UWP RichEditBoxは.rtfファイルのみを読み取りますか?

myRichEditBox.Document.LoadFromStream(Windows.UI.Text.TextSetOptions.None, streamFile); 

そして、それは私が私のstreamFile変数を埋める方法です:

public static async void openFileAsync(string pathFolder, string file) 
    { 
     Windows.Storage.StorageFolder folder = await Windows.Storage.StorageFolder.GetFolderFromPathAsync(pathFolder); 
     System.Diagnostics.Debug.WriteLine("folder : " + folder.Path); 

     Windows.Storage.StorageFile fileOpen = await folder.GetFileAsync(file); 
     System.Diagnostics.Debug.WriteLine("file : " + fileOpen.Path); 

     Windows.Storage.Streams.IRandomAccessStream stream = await fileOpen.OpenAsync(Windows.Storage.FileAccessMode.Read); 

     streamFile = stream; 
    } 

Iが上昇例外なく、richBoxEditテキスト全くありません(文字は読めません)。 私はtxtファイルを読んでみたい。

ご協力いただきありがとうございます。

+0

読み込みしようとしているファイルの形式と形式は何ですか? –

+0

ああ申し訳ありませんが、私は.txtファイルを読み込もうとしています –

答えて

1

Streamを使用してファイルの内容を読み取る場合は、以下の方法を使用できます。これにより、ファイルの内容がTextとして返されます。

internal async Task<string> UsingStream(StorageFile sampleFile) 
{ 
    IRandomAccessStream stream = await sampleFile.OpenAsync(FileAccessMode.Read); 
    ulong size = stream.Size; 
    string text = string.Empty; 
    using (var inputStream = stream.GetInputStreamAt(0)) 
    { 
     using (var dataReader = new DataReader(inputStream)) 
     { 
      uint numBytesLoaded = await dataReader.LoadAsync((uint)size); 
      text = dataReader.ReadString(numBytesLoaded); 
     } 
    } 
    return text; 
} 

は、あなたが直接テキストの代わりに、ストリームをロードしたい場合は、下記の使用が参考

ためOfficial Microsoft Documentationを参照してください。

string fileText = await FileIO.ReadTextAsync(sampleFile); 

次に、データをRichEditBoxに割り当てます。

MyRichEditBox.Document.SetText(Windows.UI.Text.TextSetOptions.None, await UsingStream(sampleFile)); 
関連する問題