Search code examples
c#streamstreamwriterfile.readalllines

Write to File skips last 10-20 lines


First i Read all lines of a text file line by line and store it in a string-array. Then i write it with file.WriteLine() into a file. The opened Console window shows every line which was written into the file, but when i open the file to check if it did well, the last 10-20 lines are missing.

Any ideas?

 string[] lines = System.IO.File.ReadAllLines(@"C:\Users\XXX\Desktop\Dok1.csv");
            StreamWriter file = new StreamWriter(@"C:\Users\XXX\Desktop\test2.csv");
            
            foreach(string line in lines)
            {
                file.WriteLine(line);
                Console.WriteLine(line);
            }

Console output: Redunderlined is the last line

Comparison Written File vs. Read File(Written file is missing last lines)


Solution

  •     using(StreamWriter file = new StreamWriter(@"C:\Users\XXX\Desktop\test2.csv"))
        {
            foreach(string line in lines)
            {
                file.WriteLine(line);
                Console.WriteLine(line);
            }
        }
    

    The Using statement closes the stream forcing the write of the internal buffer.