微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

写入文件跳过最后 10-20 行

如何解决写入文件跳过最后 10-20 行

首先我逐行读取文本文件的所有行并将其存储在字符串数组中。 然后我用 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);
            }

Console output: Redunderlined is the last line

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

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。