快速读取大文本文件.richTextBox和StringBuilder用法

本文详细介绍了在使用RichTextBox组件显示来自起点等网站下载的txt小说时,遇到的换行问题及解决策略。通过使用流读取的方式,每次读取一行文本并追加到RichTextBox中,有效解决了文本不换行的问题,提高了显示效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


主要是因为有些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; }

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值