gpt4 book ai didi

c# - FileMode.Create 和 FileMode.Truncate 有什么区别?

转载 作者:行者123 更新时间:2023-12-04 14:44:40 25 4
gpt4 key购买 nike

我真的不明白:FileMode.Create如果不存在则创建一个新文件,如果存在则覆盖一个。FileMode.Truncate不会创建新文件,而是删除现有文件的全部内容,因此基本上它也会覆盖文件。
那么为什么甚至有可能这样做:

public void DoStuff()
{
using (FileStream fs = File.Open(path, FileMode.Truncate, FileAccess.Write, FileShare.None))
{
//Do something
}
}
当它足够做时:
public void DoStuff()
{
using (FileStream fs = File.Open(path, FileMode.Create, FileAccess.Write, FileShare.None))
{
//Do something
}
}
因为两者基本上都是使用一个空文件向其中写入内容

最佳答案

对于 FileMode.Truncate文件必须存在。如果没有,你会得到一个异常(exception)。 FileMode.Create在这种情况下会创建新文件。
enter image description here

关于c# - FileMode.Create 和 FileMode.Truncate 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64333588/

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