public static List <WordCount> AuslesenLinks(string messages, List <WordCount> list) { StreamReader sr = new StreamReader(messages); string zeile = ""; while (!sr.EndOfStream) { string name = ""; zeile = sr.ReadLine(); if (zeile.Contains("a href")) { name = GetLinks.FilterLink(zeile); } if (list.Exists(x => x.Name.Equals(name))) { list.Find(x => x.Name.Equals(name)).Count++; } else if (name != "") { list.Add(new WordCount(name)); } } list.Sort((x, y) => y.Count.CompareTo(x.Count)); sr.Close(); return(list); }
// ruft alles auf, was für die Linkanalyse nötig ist. messagenew braucht es, um durch die verschiednen messges zu iterieren public static void Links() { string messages = ""; string auswertung = ""; int anzahl = Dokument.Verzeichnis(ref messages, ref auswertung, "Links"); if (anzahl > 0) { string messagesnew = messages + "messages.html"; List <WordCount> linkList = new List <WordCount>(); linkList = GetLinks.AuslesenLinks(messagesnew, linkList); for (int i = 2; i <= anzahl; i++) { messagesnew = messages + $"messages{i}.html"; linkList = GetLinks.AuslesenLinks(messagesnew, linkList); } Dokument.Schreiben(auswertung, linkList, "Links"); Console.Write("Fertig!\n"); Console.Write("Fertig!\n"); } else { Console.WriteLine("Keine Message-Dateien gefunden, stelle sicher, dass sie sich im selben Verzeichnis wie das Programm befinden\n"); } }