gpt4 book ai didi

c# - 除了听起来更安全的 "truncate"之外,还有其他选择吗?

转载 作者:行者123 更新时间:2023-11-30 19:06:44 26 4
gpt4 key购买 nike

我有一个应用程序,它在启动时从文件中读取链表1,并在结束时将其写回到文件中。我回写时选择truncate作为文件模式。但是,truncate 对我来说听起来有点危险,因为它会先清除整个内容。因此,如果出现问题,我将无法取回我的旧东西。有没有更好的选择?

1:我使用链表,因为项目的顺序可能会改变。因此我稍后使用 truncate 来更新整个文件。


正确答案归于汉斯,因为他首先指出了 File.Replace(),尽管它目前不适用于 Silverlight。

最佳答案

写入一个新的临时文件。完成并对结果满意后,删除旧文件并将新的临时文件重命名/复制到原始文件的位置。这样,即使出现任何问题,您也不会丢失数据。

正如 Hans Passants 回答中指出的,您应该使用 File.Replace在替换原始文件时获得最大的稳健性。

关于c# - 除了听起来更安全的 "truncate"之外,还有其他选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9443482/

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