开始查资料以为是io读取的,磁盘速度慢的之类的,后来一想,text 又不是几十万条数据,才那么两千行,咋回事。

原来是循环中不停的修改textbox值导致的。

总结:

 比较大的运算,特别是大的循环,不要操作控件,因为控件的一些属性每改变一次,都要paint重绘一次,这样效率会很低
一般用变量来操作,然后完了一次就执行掉。

贴上代码:

string file = fileDialog.FileName;
//删除后缀 存入files类Filename属性 ,后用于存在word第一行

StreamReader sr = new StreamReader(file, System.Text.Encoding.Default);
String line;
StringBuilder sb = new StringBuilder();
// int n = 0;
while (sr.Peek() > -1)
{

//显示在textbox中
sb.Append(line + "\r\n");
//textBox2.Text = sb.ToString();   //sb 在循环中向 texbox2 发送数据,每次发送,textbox控件都要刷新一次,导致程序效率直线下降。
//跳过行空格
if (line.Trim() != "")
{
……
if (lines.Length >= 3)
{

//数据传入数组然后入队列
……
}
}
}

r.Close(); sr.Dispose();
textBox2.Text = sb.ToString(); //放在此处问题解决
}
}

78k的text 文件,输出到textbox 竟然用了20几秒的原因的更多相关文章

  1. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  2. 详解log4j2(下) - Async/MongoDB/Flume Appender 按日志级别区分文件输出

    1. 按日志级别区分文件输出 有些人习惯按日志信息级别输出到不同名称的文件中,如info.log,error.log,warn.log等,在log4j2中可通过配置Filters来实现. 假定需求是把 ...

  3. hadoop多文件输出

    现实环境中,经常遇到一个问题就是想使用多个Reduce,可是迫于setup和cleanup在每个Reduce中会调用一次,仅仅能设置一个Reduce,无法是实现负载均衡. 问题,假设要在reduce中 ...

  4. Hadoop 实现多文件输出

    比如word.txt内容如下: aaa bbb aba abc bba bbd bbbc cc ccd cce 要求按单词的首字母区分单词并分文件输出 代码如下: LineRecordWriter p ...

  5. freemarker嵌入文件输出结果

    freemarker嵌入文件输出结果 1.嵌入的文件代码 inc.ftl: <#assign username="李思思"> 2.父文件代码 inner.ftl: &l ...

  6. MR案例:多文件输出MultipleOutputs

    问题描述:现有 ip-to-hosts.txt 数据文件,文件中每行数据有两个字段:分别是ip地址和该ip地址对应的国家,以'\t'分隔.要求汇总不同国家的IP数,并以国家名为文件名将其输出.解读:M ...

  7. 【转】如何把Json格式字符写进text文件中

    http://www.cnblogs.com/insus/p/4306640.html http://json2csharp.chahuo.com/ 本篇一步一步学习怎样把显示于网页的json格式的字 ...

  8. 使用log4j配置不同文件输出不同内容

    敲代码中很不注意写日志,虽然明白很重要.今天碰到记录日志,需要根据内容分别输出到不同的文件. 参考几篇文章: 感觉最详细:http://blog.csdn.net/azheng270/article/ ...

  9. 如何把Json格式字符写进text文件中

    本篇一步一步学习怎样把显示于网页的json格式的字符串写进text文件中,并保存起来.学习到创建model, Entity, 序列化List<object>转换为json,显示于网页上.然 ...

随机推荐

  1. jquery 初始化数据 添加html 第一次玩0.0

    /** * Created by Eee_xiang on 2018/04/12. * 联动响应事件 */ (function () { $.linkEvent = function (options ...

  2. delphi通过TADOConnection组件直接连接MSSQL数据库并读写数据。

    unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...

  3. 12.常用类简单介绍.md

    目录 1.Scanner类 2.System类 4.Object类和工具类 5.StringBuffer类和StringBuilder类 6.Math类 7.Random类和ThreadLocalRa ...

  4. 16.2 profile 显示或者隐藏页面 修改密码

    我们auth在clent端有更加强大的功能 显示或者隐藏component 或者 我们可以阻止或者允许某个用户访问url

  5. 简单自定义UIToolBar

    let item1 = UIBarButtonItem(title: "分享", style: .Plain, target: self, action: nil) let ite ...

  6. python基础学习Day8 文件的基本操作

    1.文件的基本操作初识 f = open('a.text', 'r', encoding='utf-8')data = f.read()print(data)f.close() 2.读  r  r+b ...

  7. SSM商城项目(三)

    1. 学习计划 1.商品类目选择 2.图片上传 a) 图片服务器FastDFS b) 图片上传功能实现 3.富文本编辑器的使用KindEditor 2. 商品类目选择 2.1. 原型 2.2. 功能分 ...

  8. SAP 费用

    SAP在华真相:天价收费与用户之灾 SAP真的是企业实施ERP系统的最佳选择吗? 画皮SAP-世界管理软件公司的中国真相 你知道SAP吗?哦,知道,满大街都是嘛,S-P-A,SPA.做出上述回答的是一 ...

  9. vue 安装sass扩展

    1.创建一个基于 webpack 模板的新项目 $ vue init webpack myvue 1 2.在当前目录下,安装依赖 $ cd myvue $ npm install 1 2 3.安装sa ...

  10. php loop循环 拿到键名

    {loop $nianjian['dache'] $key  $v}        $key能拿到键名(微擎系统试过可以)