比较文件与其他14个文件

本文关键字:文件 14个 其他 比较 | 更新日期: 2023-09-27 18:15:11

我想将file1与另外14个文件进行比较,每次一个。我想要的是从14个文件中读取file1和读取其他文件,然后找到两个文件之间的匹配(单词)的数量计算每个14个文件的字数(每次一个)

我试过下面的代码:

        static void Main()
        {
            StreamReader objReader = new StreamReader(@"c:'basic_source.txt");
            string filepath = "";
            ArrayList arrText = new ArrayList();
            while (filepath != null)
            {
                filepath = objReader.ReadLine();
                if (filepath != null)
                    arrText.Add(filepath);
            }
            objReader.Close();
            //string path;
            //path = filepath;
            // Read the file and display it line by line.
            int found;
            int count = 0;
           string [] cc;
            int basic_source_attr_no = 20;
            float simi_degree;
            string textData = File.ReadAllText(@"C:'expermentaldata's3'attributes.txt");
            int cnt = (WordCounting.CountWords1(textData));
            string[] content = File.ReadAllLines(@"C:'expermentaldata's3'attributes.txt");
            //int cnt = content.Count();

            string[] mastercontent = File.ReadAllLines(@"C:'basic_source.txt");
            foreach (string con in content)
            {
                if (mastercontent.Contains(con))
                {
                    found = 1;
                    count = count + found;
                }

            }
            simi_degree = (basic_source_attr_no + cnt) / count;
            try
            {
                simi_degree = (basic_source_attr_no + cnt) / count;
            }
            finally
            {
                Console.WriteLine(" ");
            }
            Console.WriteLine("external attribute no      similar attributes    simi_degree      ");
            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("  {0}                             {1}                {2}        ", cnt, count, simi_degree);
            Console.ReadLine();
        }
    }
    public static class WordCounting
    {
        /// <summary>
        /// Count words with Regex.
        /// </summary>
        public static int CountWords1(string s)
        {
            MatchCollection collection = Regex.Matches(s, @"['S]+");
            return collection.Count;
        }
    }
}

比较文件与其他14个文件

听起来你想做的是比较两个文件,并计算它们之间相同的单词。我将试着回答这个问题(你没有问题,而且那里的信息很难理解)。

您当前发布的代码比较的是文本行而不是单词。

你应该做的是创建一个方法来返回给定字符串的单词列表(我们称之为GetWordsFromString())。然后,对于每个文件,读入它,调用GetWordsFromString()。然后将这些单词放入主列表,遍历每个单词,看看它是否存在于二级列表中。

这个问题有点太宽泛了,而且有点不清楚,但是可以看看DiffPlex来帮助您开始。