c# 为啥读取Txt文件太慢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 为啥读取Txt文件太慢?相关的知识,希望对你有一定的参考价值。

小弟在Wince设备上写了一个多线程的读取Txt文件的小程序,为什么读取速度很慢呢?比同类软件慢的很多!请问有什么方法能提高效率吗?谢谢!
我使用的是ReadToEnd()这个函数,我也试过ReadLine(),后者的效率更低! 我用多线程是为了让主线程呢响应用户操作而不像是死机了,所以我用多线程并没有打算来提高读写速度的。

读取文件不要用多线程,只会让速度慢而不会提高速度。 参考技术A 试一下自己写一个读写类 参考技术B 用流读取啊

C# 读取txt配置文件,并且可以更新配置文件

技术分享

 

首先,配置使用=号隔开的,等号前面是表示配置项,后面是配置的值

功能:可以读取txt配置文件和修改txt配置文件

我们可以理解成key=value的形式,上面的截图,可以说明一些,不废话了,下面上代码吧。

private static string _path_config = Application.StartupPath + "\\\\config.txt";  //配置文件
        private void Form1_Load(object sender, EventArgs e)
        {
            //读取配置文件
            List<string[]> config = ReadFromTxt();
            if (config != null)
            {
                try
                {
                    foreach (string[] str in config)
                    {
                        string temp = str[0];
                        switch (temp.ToLower())
                        {
                            case "host":
                                txthost.Text = str[1];
                                break;
                            case "format":
                                txtgeshi.Text = str[1];
                                break;
                        }
                    }
                }
                catch { }
            }
        }
        /// <summary>
        /// 读取TXT
        /// </summary>
        /// <param name="path">文件路径</param>
        /// <returns>string数组</returns>
        private List<string[]> ReadFromTxt()
        {
            try
            {

                if (!System.IO.File.Exists(_path_config))
                {
                    return null;
                }
                string line;
                List<string[]> result = new List<string[]>();
                StreamReader sr = new StreamReader(_path_config);
                while ((line = sr.ReadLine()) != null)
                {
                    result.Add(line.Split(=));
                }
                sr.Close();
                return result;
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        /// 更新配置文件
        /// </summary>
        /// <param name="host"></param>
        /// <param name="format"></param>
        private void UpdateConfig(string host, string format)
        {
            if (!string.IsNullOrEmpty(host) && !string.IsNullOrEmpty(format))
            {
                string[] line = new string[2];
                line[0] = "host=" + host;
                line[1] = "format=" + format;
                File.WriteAllLines(_path_config, line);
            }
        }
复制代码

 





以上是关于c# 为啥读取Txt文件太慢?的主要内容,如果未能解决你的问题,请参考以下文章

C#读取txt文件

c#中怎么读取txt文件的最后几行

C# 读取txt配置文件,并且可以更新配置文件

怎样用C#读取TXT文件内容并修改

C# 读取txt文件生成Word文档

WPF C#怎么批量读取和创建文件(类似txt文件)