写入文件但文件为空

Har*_*ond 2 c#

我正在将输出写入此文件,但它在Organized.txt中显示为空.如果我从sr2.WriteLine更改最后一个foreach循环并且只用WriteLine写入控制台,那么输出会在控制台上正确显示,那么为什么它在文本文件中没有正确显示?

 class Program
    {
        public static void Main()
        {

            string[] arr1 = new string[200];


            System.IO.StreamWriter sr2 = new System.IO.StreamWriter("OrganizedVersion.txt");




                    // Dictionary, key is number from the list and the associated value is the number of times the key is found
                    Dictionary<string, int> occurrences = new Dictionary<string, int>();
                    // Loop test data
                    foreach (string value in File.ReadLines("newWorkSheet.txt"))
                    {
                        if (occurrences.ContainsKey(value)) // Check if we have found this key before
                        {
                            // Key exists. Add number of occurrences for this key by one
                            occurrences[value]++;
                        }
                        else
                        {
                            // This is a new key so add it. Number 1 indicates that this key has been found one time
                            occurrences.Add(value, 1);
                        }
                    }
                    // Dump result
                    foreach (string key in occurrences.Keys)
                    {
                        sr2.WriteLine(key.ToString() + occurrences[key].ToString());
                    }               

                   Console.ReadLine();



        }
    }
Run Code Online (Sandbox Code Playgroud)

Rea*_*lar 5

您可以将代码包装在a中using以确保流已关闭.

        using(StreamWriter sr2 = new StreamWriter("OrganizedVersion.txt"))
        {
           ....
        }
Run Code Online (Sandbox Code Playgroud)

或者你可以flushclose写完后.

 sr2.close();
Run Code Online (Sandbox Code Playgroud)