比较文件与其他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;
}
}
}
听起来你想做的是比较两个文件,并计算它们之间相同的单词。我将试着回答这个问题(你没有问题,而且那里的信息很难理解)。
您当前发布的代码比较的是文本行而不是单词。
你应该做的是创建一个方法来返回给定字符串的单词列表(我们称之为GetWordsFromString())。然后,对于每个文件,读入它,调用GetWordsFromString()。然后将这些单词放入主列表,遍历每个单词,看看它是否存在于二级列表中。
这个问题有点太宽泛了,而且有点不清楚,但是可以看看DiffPlex来帮助您开始。