2011-11-18 90 views
0

我想與其他14個文件一個每次比較文件1文件。我想要的是讀取file1並從14個文件中讀取其他文件然後找到兩個文件之間匹配的數量(字) 計算每個另外14個文件的字數(每次一個)比較與其他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; 
     } 
    } 
} 
+5

問題是什麼? –

+0

這裏沒有問題。 – Yaur

+0

和你的問題是什麼? – wiero

回答

1

這聽起來像你想要做的是比較2個文件,並計算它們之間相同的單詞。我將試圖回答這個問題(你沒有問題,而且那裏的信息很難理解)。

,你目前已經發布的代碼進行比較的文本,而不是字線。

你應該做的是創造返回指定字符串的單詞列表的方法(可以稱之爲GetWordsFromString())。 那麼對你來說有每個文件,讀取它,調用GetWordsFromString()。然後爲你的主列表取詞,遍歷每一列,看看它是否存在於你的二級列表中。

0

這個問題有點過於寬泛,有點不清楚,但看看DiffPlex讓你開始。