【问题标题】:Reading RTF Files line by line in C# WPF在 C# WPF 中逐行读取 RTF 文件
【发布时间】:2019-04-12 22:43:41
【问题描述】:
我正在开发一个 C# WPF 工具,该工具将读取不同的文本文件类型并逐行分析文件。
它适用于例如 .asc 文本文件:
foreach (string line in File.ReadLines(myFile.asc)) {
AnalyzeCurrentLine(line);
}
现在阅读 RTF 文件对我来说变得很困难。我仍然想逐行阅读。文本的格式不相关。 RichTextBox 对象是正确的方法吗?
【问题讨论】:
标签:
c#
wpf
richtextbox
rtf
readlines
【解决方案1】:
您可以使用RichTextBox 来加载您的 RTF,然后像这样逐行读取其内容:
RichTextBox rtb = new RichTextBox();
string rtf = File.ReadAllText("file.rtf");
using (MemoryStream stream = new MemoryStream(Encoding.Default.GetBytes(rtf)))
rtb.Selection.Load(stream, DataFormats.Rtf);
string text = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd).Text;
string[] lines = text.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
foreach(string line in lines)
{
//...
}