Ejemplo n.º 1
0
 private static void PrintAllWords(WordWiseReader wordwise)
 {
     foreach (var word in wordwise)
     {
         Console.WriteLine(word.ToString());
     }
 }
Ejemplo n.º 2
0
 private static void ShowWordSurroundings(FileStream stream, WordWiseReader wordwise)
 {
     foreach (var word in wordwise)
     {
         stream.Seek(word.Position.BytePos, SeekOrigin.Begin);
         byte[] buffer = new byte[100];
         stream.Read(buffer, 0, 20);
         var s = Encoding.UTF8.GetString(buffer, 0, 20);
         foreach (char nl in new char[] { '\r', '\n' })
         {
             if (s.LastIndexOf(nl) < 0)
             {
                 continue;
             }
             s = s.Replace(nl, ' ');
         }
         Console.WriteLine(s);
     }
 }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            // string textFile = @"Dateien\LoreIpsum.txt";
            // string textFile = @"Dateien\LoreIpsum.de.txt";
            // string textFile = @"Dateien\KurzerText.txt";
            string textFile = @"Dateien\VSCodeAufraeumarbeiten.txt";

            if (!File.Exists(textFile))
            {
                Console.WriteLine($"Datei {textFile} wurde nicht gefunden.");
                return;
            }
            using (var stream = File.Open(textFile, FileMode.Open))
            {
                var wordwiseReader = new WordWiseReader(stream);
                // Print(wordwise);
                // ReadWordsFromStream(stream, wordwise);

                Trie trie     = TrieFromWords(wordwiseReader);
                var  allWords = trie.GetAllWords();

                var wordPositions = trie.FindWord("Aktualisierungen");
                wordPositions = trie.FindWord("die");

                List <WordInfo> sortedByPosition = new List <WordInfo>();
                foreach (var w in allWords)
                {
                    w.Value.ForEach(x => sortedByPosition.Add(new WordInfo()
                    {
                        Word = w.Key, Position = x
                    }));
                }
                sortedByPosition.Sort((a, b) => a.Position.CharPos.CompareTo(b.Position.CharPos));

                sortedByPosition.ForEach(x => Console.Write($"{x.Word} "));
            }
        }