-2

首先,我逐行读取文本文件的所有行并将其存储在字符串数组中。然后我用 file.WriteLine() 把它写到一个文件中。打开的控制台窗口显示了写入文件的每一行,但是当我打开文件检查它是否运行良好时,最后 10-20 行丢失了。

有任何想法吗?

 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);
            }

控制台输出:带下划线的是最后一行

比较书面文件与读取文件(书面文件缺少最后几行)

4

1 回答 1

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

Using 语句关闭流,强制写入内部缓冲区。

于 2021-01-12T13:13:53.783 回答