主要是因为有些txt小说之类的,如果用 richTextBox1.LoadFile 是快,但是问题是不会换行,比如起点里面下载的txt文本的小说就有这个毛病,研究后发现要用流读取,每次1行.刚刚做的时候效率很差,主要是把richTextBox1放到循环里面去增加行了.......汗.现在把关键代码添上
//
直接打开,代码简单,就是有些txt打开后不会换行
private
void
rtf方式ToolStripMenuItem_Click(
object
sender, EventArgs e) { OpenFileDialog op
=
new
OpenFileDialog(); op.Filter
=
"
文本文件(*.txt)|*.txt
"
; op.AddExtension
=
true
; op.DefaultExt
=
"
txt
"
; op.CheckFileExists
=
true
; op.CheckPathExists
=
true
;
if
(op.ShowDialog()
==
DialogResult.OK) { fileName
=
op.FileName;
try
{ richTextBox1.LoadFile(fileName, RichTextBoxStreamType.PlainText); }
catch
(Exception ex) {
throw
ex; } } }
下面这个才是王道啊.解决换行问题,高速读取
private
void
rich() {
try
{ FileStream fs
=
new
FileStream(fileName, FileMode.Open, FileAccess.Read);
if
(fs.CanRead) {
//
读取时加入编码信息,否则读取汉字会乱码
StreamReader sr
=
new
StreamReader(fs, Encoding.Default);
string
strline
=
sr.ReadLine(); StringBuilder sb
=
new
StringBuilder();
while
(strline
!=
null
) { strline
=
sr.ReadLine(); sb
=
sb.Append(strline
+
"
\n
"
); } sr.Close(); richTextBox1.Text
=
sb.ToString(); } }
catch
(Exception ex) {
throw
ex; } }
转载于:https://www.cnblogs.com/wind8250/archive/2008/02/25/1080777.html
转载请注明原文地址: https://win8.8miu.com/read-21148.html