将百万行 URL 合并在 2 个文件中

本文关键字:合并 文件 URL 百万 | 更新日期: 2023-09-27 17:55:51

文件 A B 包含百万个网址。
1、逐个浏览文件A中的网址。
2、提取 subdomain.com(http://subdomain.com/path/file)
3、如果文件B存在 subdomain.com,则保存到文件C。

有什么最快的方法可以使用 c# 获取文件 C?

谢谢。

当我使用Readline时,它没有太大的不同。

 // stat
            DateTime start = DateTime.Now;
            int totalcount = 0;
            int n1;
            if (!int.TryParse(num1.Text, out n1))
                n1 = 0;
            // memory
            dZLinklist = new Dictionary<string, string>();  
            // read file
            string fileName = openFileDialog1.FileName; // get file name
            textBox1.Text = fileName;
            StreamReader sr = new StreamReader(textBox1.Text);
            string fullfile  = File.ReadAllText(@textBox1.Text);
            string[] sArray = fullfile.Split( ''n');
            //IEnumerable<string> sArray = tool.GetSplit(fullfile, ''n');
            //string sLine = "";
            //while (sLine != null)
            foreach ( string sLine in sArray)
            {
                totalcount++;
                //sLine = sr.ReadLine(); 
                if (sLine != null)
                {
                    //string reg = "http[s]*://.*?/";
                    //Regex R = new Regex(reg, RegexOptions.Compiled);
                    //Match m = R.Match(sLine);
                    //if(m.Success)

                    int length = sLine.IndexOf(' ', n1); //  default http://
                    if(length > 0)
                    {
                        //string urls = sLine.Substring(0, length);
                        dZLinklist[sLine.Substring(0,length)] = sLine;
                    }
                }
            }
            TimeSpan time =  DateTime.Now - start;
            int count = dZLinklist.Count;
            double sec = Math.Round(time.TotalSeconds,2);
            label1.Text = "(" + totalcount + ")" + count.ToString() + " / " + sec + " = " + (Math.Round(count / sec,2)).ToString();

            sr.Close();

将百万行 URL 合并在 2 个文件中

我会使用Microsoft LogParser来处理大文件:MS LogParser。您是否仅限于以描述的方式实现它?