我正在使用C#WPF工具,该工具将读取不同的文本文件类型并逐行分析文件。
例如,对于.asc文本文件,它可以正常工作:
foreach (string line in File.ReadLines(myFile.asc)) {
AnalyzeCurrentLine(line);
}
现在,对于我而言,读取RTF文件变得很困难。我仍然想逐行阅读。文本格式不相关。 RichTextBox
对象是否是正确的方法?
答案 0 :(得分: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)
{
//...
}