gpt4 book ai didi

c# - 我如何在 C# 中使用 flush()?

转载 作者:行者123 更新时间:2023-11-30 20:48:19 24 4
gpt4 key购买 nike

我正在将大量数据写入文件,这可能需要很长时间,所以我想在调用 save() 函数后立即将内容写入文件。当前文件大小(我正在从 Windows 资源管理器中查看)保持在 0 字节大小,直到 程序 写入终止。

我都试过了:

fileOut = new StreamWriter(fileName);
fileOut.AutoFlush = true;

fileOut.Write(contents);
fileOut.Flush();

我该如何解决这个问题?

最佳答案

这是不关闭流的典型症状。像往常一样,将您的资源使用情况包装在 using 语句中。

法拉盛并不像您想象的那样。它不会使数据对其他程序可见。它强制它做磁盘。这不是你的问题。

磁盘上有什么并不重要。重要的是 Windows 文件缓存呈现给其他程序的内容。文件内容可以在内存中,并且仍然可以在应用程序之间同步。

The metadata behavior (length, times, ...) is strange on Windows.事实证明,枚举目录会返回陈旧数据。直接查看文件(打开其属性窗口)应该始终返回准确的信息。

链接的 Raymond Chen 文章有一个解决方法,您可以使用它来强制立即显示当前信息。

关于c# - 我如何在 C# 中使用 flush()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com