C#读取文件的速度很慢怎么处理?

程式如下:

 public static string ReadFile(string path)
        {
            if (!File.Exists(path))
            {
                Console.WriteLine("{0} do not exist",path.Substring(path.LastIndexOf(@"\")+1));
                return string.Empty;
            }
            String text = File.ReadAllText(path,Encoding.UTF8);
            Console.WriteLine("文件读取完成:"+text);
            return text;
        }

读取一个61k的全国城镇json文件就很久,大概用2-3秒这样子,很影响窗口的打开,
每次打开窗口都要等.这样怎么处理呢?

9个回答

就这个函数,绝对不可能用2-3秒。
可能是其他部分的原因。
在程序里多加几个时间戳,排查一下。

只读取了这么一个文件么?按理说不会啊,是不是有杀毒软件什么的干扰。文件系统的故障或者什么问题。

为什么不用异步调用呢,这样ui线程不会被阻塞,建议用async await方式处理

#可以直接读到数据库处理,或者本地直接处理完了再进行远程数据库操作~

http://www.51aspx.com/code/codename/58803 看看这个我写的,多线程 异步处理 200M txt的数据分析

这个函数没有问题,时间长可能是其他地方引起的,把其它地方的代码也贴出来

使用文件流的读取方式

用StreamReader读取快
public void test(string path)
{
System.IO.StreamReader reader = new System.IO.StreamReader(path);

        string text = reader.ReadToEnd();
        reader.Close();
    }

StreamReader读取就行。这么小的文件会卡死这应该不是读取的问题,单步检查一下

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c# 利用word类库读取word,速度越来越慢

本人小白,写了一串代码批量读取word,例如一个文件夹有1000多份, 代码循环挨个读取,第一份的时候一般5分钟,但是越后面越慢,比如第 20份可能需要半小时,第50份可能需要1小时,第60份可能一个半小时。 我看了任务管理器,程序站的cpu、内存、线程数并没有随着增加,程序 里面关于word的实例也释放掉了,请问下各位大神这是为什么?有人说 磁盘读写,有人说office本身的问题?有哪位大神知道点的??告诉我怎 么检测也行啊。。万分感谢!

c#读取文本文件内存比较大的时候,如何提高效率

如何在用c#读取文本文件内存比较大的时候,效率要高一些,普通方法要很久的时间才能完成,比如用文件流啊,之类的

C#分段读取excel百万数据问题

各位大神,小弟目前遇到一个问题不知如何处理,希望大神能指导,谢谢!问题是这样,现在我要做一个EXCEL文件上传功能并将EXCEL数据存库,Excel文件分块上传已经解决,EXCEL分段获取数据并存库如何实现,网上查找了好多资料还是没能解决,一次性读取EXCEL的话容易溢出而且很慢,如果能在上传的流中提取数据更好,但是不知道如何实现,所以只能退而求其次,想分段获取EXCEL中的数据并保存,因为上传过程中可能会断网,所以存库的数据要能续传,因为EXCEL数据没有ID,开发工具是VS2015,数据库是SQL2012,能贴出代码更好,小弟水平有限,有思路也不一定会实现,很着急,希望各位大神不吝赐教,谢谢!

Java读取NAS存储速度太慢

有一台NAS存储设备,将其挂载到Linux文件系统。采用CP命令将一些文件从NAS目录拷贝到本地目录的速速很快,但是自己编写JAVA程序读取的速度很慢,希望高手能够给予解答

C#中如何大幅提高写excel文件的速度?

输入文件:input.txt包含以【;】号或者【\t】制表符分隔的多行(实际在100万行以上)数据,每行数据个数不定。 ======================== a;b;c 1;2; 1;2;3;4;5 输出文件;output.xlsx ======================== a b c 1 2 1 2 3 4 5 ======================== 问题:写了个小程序处理2000行在10s以内,百万行速度就太慢,无法忍受了。求教一些能显著提高写Excel速度的方法。网上查的先变成二维数组之类的方法,效果不大。百万行在20min以内就好。

c#bootstrap上传文件服务器打不开报错,读取二进制流的问题待解决

## html ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Krajee JQuery Plugins - &copy; Kartik</title> <link href="bootstrap.min.css" rel="stylesheet" /> <link href="fileinput.css" media="all" rel="stylesheet" type="text/css" /> <script src="Jquery.min.js"></script> <script src="fileinput.js" type="text/javascript"></script> <script src="bootstrap.min.js" type="text/javascript"></script> <script src="zh.js"></script> </head> <body> <form> <div> <div class="modal-header"> <h4 class="modal-title" id="modalShow">[请选择xml/docx]文件</h4> </div> <div class="modal-body"> <input type="file" name="model_file" id="model_file" multiple class="file-loading" /> </div> </div> </form> <script type="text/javascript"> $(function () { var control = $("#model_file"); var uploadrul = "/bootstrap-fileinput-master/examples/UploadFile.ashx"; var upObj = { language: 'zh', //设置语言 uploadUrl: uploadrul, //上传的地址 uploadExtraData: { "savepath": "/bootstrap-fileinput-master/examples/" },//上传至服务器的参数,非常重要 allowedFileExtensions: ['xml', 'docx', 'jpg', 'png', 'gif', 'rar', 'doc', 'txt'],//接收的文件后缀 showUpload: true, //显示批量上传按钮 showCaption: false,//是否显示标题 browseClass: "btn btn-primary", //按钮样式 dropZoneEnabled: true,//是否显示拖拽区域 maxFileSize: 4096,//单位为kb,如果为0表示不限制文件大小 minFileCount: 0, maxFileCount: 10, msgSizeTooLarge: " \"{name}\" 大小为({size} KB) 最大文件大小为 {maxSize} KB.请重新上传!",//文件的实际大小有些许偏差 enctype: 'multipart/form-data', validateInitialCount: true, previewFileIcon: "<i class='glyphicon glyphicon-king'></i>", msgFilesTooMany: "选择上传的文件数量({n}) 超过允许的最大数值{m}!", allowedPreviewTypes: ['image']//能够预览的文件类型,如果不限制。文件预览时可能很慢 }; $('#modalShow').html("[请选择"+upObj.allowedFileExtensions+"]文件"); control.fileinput(upObj); //导入文件上传成功之后的事件 $("#model_file").on("fileuploaded", function (event, data, previewId, index) { }); //导入文件上传失败之后的事件 $('#model_file').on('fileuploaderror', function (event, data, msg) { var msg= data.response; }); }); </script> </body> </html> ``` ## ashx ``` using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO; using System.Text; namespace WebApplication1.bootstrap_fileinput_master.examples { /// <summary> /// UploadFile 的摘要说明 /// </summary> public class UploadFile : IHttpHandler { public void ProcessRequest(HttpContext context) { string json = "{\"msg\":\"上传成功!\"}"; try { //读取二进制流为什么 有问题 context.Response.ContentType = "text/plain"; Stream sr = context.Request.InputStream; byte[] bt = new byte[sr.Length]; HttpPostedFile file = context.Request.Files["model_file"]; string savepath = context.Request["savepath"];//获取文件保存的路径 string fileName = file.FileName; sr.Read(bt, 0, bt.Length); savepath = context.Server.MapPath(savepath) + "\\" + fileName; FileStream fs = new FileStream(savepath, FileMode.Create); fs.Write(bt, 0, bt.Length); fs.Close(); sr.Close(); } catch (Exception ex) { //失败时返回的参数必须加 error键 json = "{\"error\":\""+ex.Message+"\"}"; } context.Response.Write(json); context.Response.End(); } public bool IsReusable { get { return false; } } } } ``` ## 读取数据流的时候有问题,读取到上传文件的属性数据了,见下图2 ![读取数据流的时候用问题](https://img-ask.csdn.net/upload/201710/10/1507618593_496298.png) ##上传文件源数据 ![上传文件源数据](https://img-ask.csdn.net/upload/201710/10/1507618626_265907.png) ## 服务器上文件的内容 ![服务器上文件的内容](https://img-ask.csdn.net/upload/201710/10/1507618659_951615.png) **上传图片、word、excel文件后,打开失败。** ## 附件:[上传文件测试工程demo上传文件测试工程demo](https://pan.baidu.com/s/1kVsZXTt "上传文件测试工程demo")

在下面的c#程序中,如何提高修改数据库的速度??求好心人帮忙解决!

![这个是获取本地文件夹下的所有文件名的方法](https://img-ask.csdn.net/upload/201609/30/1475223909_178667.png) ![这个是根据主键修改数据库中的状态的方法](https://img-ask.csdn.net/upload/201609/30/1475223947_417849.png) ![这个是获取数据库中的主键和文件名](https://img-ask.csdn.net/upload/201609/30/1475224023_37269.png) ![这个方法是调用上面的三个方法](https://img-ask.csdn.net/upload/201609/30/1475224101_739109.png) ![这个是本地文件夹下的所有文件 (文件夹下会有几万个文件,这个只是测试)](https://img-ask.csdn.net/upload/201609/30/1475224314_870599.png) ![这是数据库表数据,要修改表中的StatusFile的状态,这个表中有几十万条数据](https://img-ask.csdn.net/upload/201609/30/1475225185_317416.png) 根据上面的图片,谁能帮我提升一下 修改速度啊!自己测试的30分钟才修改4千多条,修改几十万条数据要等很长时间了,哪位大神帮帮我啊,我是新手, 论坛上没有币,希望有好心人帮我解决一下。

使用C#进行ArcGis二次开发,由点shp文件插值生成栅格地形,需要提高效率

点shp文件是读取asc文件生成的,大概 500万 个点,因为点特别多,IDW插值速度很慢很慢,而且要求像元值越小越好!哪位大神有办法提高插值速度?谢谢!

怎么把webservice取得数据保存到c# winform中?

我用C# winform接收java webservice接口的数据 但是我winform 窗体 每次跳转的时候都很慢 有没有什么方法 能把我取到的webservice数据 保存到c# winform 后台 不用每次跳转都去读webservice webservice接收数据如下 ![图片说明](https://img-ask.csdn.net/upload/201706/19/1497839057_310656.png)

C#进度条能否根据代码的执行进度来加载进度?

我在网上搜索了下资料,大部分都是使用Timer控件或者线程来进行,但是最终都是根据计算结果来写出一个MaxValue和一个Value来计算并且填充进度条 但是计算的话总感觉不是很准确,我如今遇到了一个比较棘手的难关(对于我而言),有个界面的树在读取数据库进行绑定的时候会显得非常慢,但是设定进度条的时间长短根本无法确定,以及代码例如(链接TCP之类的)断开链接也会产生卡主的状况,但是由于线程的关系,进度条依然显示完毕了。 使得我非常的头疼,因此我想问问,有没有办法获取代码的执行进度,根据代码的总执行次数和现在执行的行数来填充进度条? 或者看到这个问题的您能给我一种更加好的方案呢?希望能被解答下。

ImageList 内存占用过高的问题,这个怎么解决一下?

代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace 相册片头自动生成器 { public partial class Form1 : Form { public static int i=0; public string[] picArr=null; public Form1() { CheckForIllegalCrossThreadCalls = false; InitializeComponent(); } private void OPENfile_Click(object sender, EventArgs e) { ChooseFileDialog.ShowDialog(); } private void ChooseFileDialog_FileOk(object sender, CancelEventArgs e) { i = 0; picArr = null; picArr = ChooseFileDialog.FileNames; listView1.Items.Clear(); pic.Dispose(); progressBar1.Maximum = picArr.Length; this.progressBar1.Value = 0; backgroundWorkerOpenfile.RunWorkerAsync(); } private void backgroundWorkerOpenfile_DoWork(object sender, DoWorkEventArgs e) { openfile(); } private void backgroundWorkerOpenfile_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { backgroundWorkerOpenfile.Dispose(); } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { Application.Exit(); } private void backgroundWorkerOpenfile_ProgressChanged_1(object sender, ProgressChangedEventArgs e) { this.progressBar1.Value++; } private void openfile() { if (i < picArr.Length) { pic.Images.Add(Image.FromFile(picArr[i])); pic.ImageSize = new Size(144, 80); listView1.LargeImageList = pic; ListViewItem lvi = new ListViewItem(); lvi.ImageIndex = i; this.listView1.Items.Add(picArr[i], i); this.progressBar1.Value++; GC.Collect(); } else { return; } i++; openfile(); } } }

为何在vb.net 中reogrid用Load打开Excel表格非常慢?

最近刚下载了ReoGrid 2.1版,但在vb.net中用Load方法加载Excel表格时效率很低,打开一个600行的表格需要20多秒,而同一个表格用ReoGrid自带的ReoGridEditor只用不到2秒就OK了,是什么原因,还需要设置那个属性?

使用的C#,如何用install shield打包数据库同所做软件成为一个安装包

是这样的,我做了一个小软件,有保存查询功能,所以就用了SQL server数据库, 连接数据库的字符串是直接在vs2015里“代码写的”,现在打包出来本机电脑可正常运行,但是问题来了: 1:此软件安装到其他电脑上因为没有SQLserver所以无法载入读取数据文件 2:就算安装有SQLserver的电脑,因为连接数据库的字符串不同导致连接失败 3:数据库分离出来的文件无法自动加载到安装在电脑上的数据库当中(这个是我尝试在另一台电脑上重新安装SQLSERVEER,把服务名,密码,用户设置成和我本机一样,就算能成功连接数据库,也得手动附加我的数据库文件) {注意:所安装所有电脑都是杜绝联网了,所以不要给我说网络服务器什么的,多谢多谢,现在脑子也现装不下那么大知识量} 以上问题通过搜索找到了一些解决方案,但都不很理想 1:电脑上没SQLserver的重新给他安装一个,但是一个SQLserver好几个G,安装速度也比较慢,而且对于不懂的人来说,sqlserver的单独安装无疑是增加使用成本,更要命的是,就算人家折腾出来安装起,服务器名字、用户名、密码八成是不一样的,连接字符串又是VS代码里写好的,改都改不了 2:关于连接字符串,网上提出了XML配置文件,将连接字符串写入XML配置文件中,后期就算打包了,也可以通过配置文件进行修改连接字符串,这个方法我还在学习实验中(刚接触配置文件,别喷我....),暂时还没实现功能,但是我又预感这东西可以,但是问题就是不太智能,有没有方法自动读取数据库的服务名呢............

c#打包exe,没安装sql数据库的电脑,怎么安装软件的时候自带安装数据库?

项目打算用sqlserver存储数据(数据量比较大,用于采集)。 但是打包后要在其他电脑运行,必须电脑安装了sqlserver才可以,希望打包exe的时候能不能直接带上sqlserver的安装?如果不能实现,有什么其他的方法吗?不想用excel保存数据,数据量大的时候打开读取很慢

IrisSkin2 皮肤后winform openfilediolog 打开窗口 直接卡死

IrisSkin2 皮肤后winform openfilediolog 打开窗口 直接卡死 IrisSkin2 皮肤后winform openfilediolog 打开窗口 直接卡死

java 应用长时间运行效率低

目前接手一个java做的定时读取日志,大量计算后会生成报表,日志文件数量在稳定在2000个,目前的问题就是软件运行第一天生成报表总耗时2:30小时,第二天总耗时3:20小时,第三天总耗时4:21小时,第四天总耗时5:08小时,第五天总耗时6:09小时,一直到几天后的22:33小时,然后时间大于一天后,新一天的报告就开始运行了,这样报告就一直不会生成了, 请教下应该从哪些方面去确定耗时的问题?现在头比较大,没有方向~ 注:服务器配置比较低,内存4G 系统server 2014,数据库SQLserver 2014 今天看最近一段时间的日志发现一个现象 : 2017-02-18 Thread-5 2017-02-19 Thread-7 2017-02-20 Thread-9 2017-02-21 Thread-11 2017-02-22 Thread-13 2017-02-23 Thread-17 2017-02-24 Thread-19 2017-02-25 Thread-21 2017-02-26 Thread-23 2017-02-27 Thread-25 2017-02-28 Thread-27 2017-03-01 Thread-29 2017-03-02 Thread-31 2017-03-03 Thread-33 2017-03-04 Thread-35 请教一下,会不会是每天启动新的任务,前一天的任务还驻留在内存中,没有被释放?

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

立方体线框模型透视投影 (计算机图形学实验)

计算机图形学实验 立方体线框模型透视投影 的可执行文件,亲测可运行,若需报告可以联系我,期待和各位交流

2019 AI开发者大会

2019 AI开发者大会

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

软件测试2小时入门

软件测试2小时入门

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

计算机图形学-球的光照模型课程设计

计算机图形学-球的光照模型,有代码完美运行,有课程设计书

Linux常用命令大全(非常全!!!)

Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 d...

因为看了这些书,我大二就拿了华为Offer

四年了,四年,你知道大学这四年我怎么过的么?

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

fakeLocation13.5.1.zip

fakeLocation13.5.1 虚拟定位 ios13.5.1的最新驱动下载,iPhone/iPad免越狱虚拟定位工具Location-cleaned驱动已更新

UnityLicence

UnityLicence

Python可以这样学(第一季:Python内功修炼)

Python可以这样学(第一季:Python内功修炼)

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

【数据结构与算法综合实验】欢乐连连看(C++ & MFC)案例

这是武汉理工大学计算机学院数据结构与算法综合实验课程的第三次项目:欢乐连连看(C++ & MFC)迭代开发代码。运行环境:VS2017。已经实现功能:开始游戏、消子、判断胜负、提示、重排、计时、帮助。

php+mysql学生成绩管理系统

学生成绩管理系统,分三个模块:学生,教师和管理员。 管理员模块:负责学生、老师信息的增删改;发布课程信息的增删改,以便让学生选课;审核老师提交的学生成绩并且打印成绩存档;按照课号查询每个课号的学生成绩

多功能数字钟.zip

利用数字电子计数知识设计并制作的数字电子钟(含multisim仿真),该数字钟具有显示星期、24小时制时间、闹铃、整点报时、时间校准功能

推荐24个国外黄色网站欣赏

在中国清朝,明黄色的衣服只有皇子才有资格穿,慢慢的黄色在中国就成了高贵的颜色。在人们的色彩印象中,黄色也表现为暂停。所以当你的网页设计采用黄色的时候,会让人们在你的网页前停留。 黄色,就像橙色和红色,黄色也是一个暖色。它有大自然、阳光、春天的涵义,而且通常被认为是一个快乐和有希望的色彩。黄色是所有色相中最能发光的颜色,给人轻快,透明,辉煌,充满希望的色彩印象。 黄色是一个高可见的色...

u-boot-2015.07.tar.bz2

uboot-2015-07最新代码,喜欢的朋友请拿去

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

学生成绩管理系统(PHP + MYSQL)

做的是数据库课程设计,使用的php + MySQL,本来是黄金搭配也就没啥说的,推荐使用wamp服务器,里面有详细的使用说明,带有界面的啊!呵呵 不行的话,可以给我留言!

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

C++语言基础视频教程

C++语言基础视频教程

玩转Python-Python3基础入门

玩转Python-Python3基础入门

2019校招硬件乐鑫+比特大陆笔试题

楼主水硕一枚,参加了2019年的秋招。自己总结了下乐鑫的笔试题目(现场笔试)以及网上考试的比特大陆的题目

成年人用得到的6款资源网站!各个都是宝藏,绝对让你大饱眼福!

不管是学习还是工作,我们都需要一些资源帮助我们有效地解决实际问题。 很多人找资源只知道上百度,但是你们知道吗,有的资源是百度也搜索不出来的,那么今天小编就给大家介绍几款好用的资源网站,大家赶紧收入囊中吧! 1.网盘007 https://wangpan007.com/ 一款全能的资源搜索网站!只需要输入关键字,就能获得你想要的视频、音乐、压缩包等各种资源,网上...

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

相关热词 c# 解析cad c#数字格式化万 c#int转byte c#格式化日期 c# wpf 表格 c# 实现ad域验证登录 c#心跳包机制 c#使用fmod.dll c#dll vb 调用 c# outlook
立即提问
相关内容推荐