代码之家  ›  专栏  ›  技术社区  ›  Erich Mirabal

为什么File.Open要比File.Create好得多,以便覆盖现有文件?

  •  7
  • Erich Mirabal  · 技术社区  · 16 年前

    这与另一个有关,所以 question 它询问如何覆盖现有文件。

    最重要的答案是:

    FileStream file = File.Open("text.txt", FileMode.Create);
    

    我的回答是:

    FileStream fs = System.IO.File.Create(fileName);
    

    在我写这个问题的时候,票数是14比0,赞成票是 Open .

    如果投票表明解决方案是好是坏,这让我有点怀疑:

    有什么东西是我遗漏的吗 这些方法将使 显然,这是更好的选择 打开 结束 Create ?

    4 回复  |  直到 8 年前
        1
  •  8
  •   Samuel    16 年前

    对我来说,我确切地知道是什么 File.Open("...", FileMode.Create) FileMode.Create 它告诉我每次都会创建一个新文件。 File.Create("...") 没有指示它将执行此操作的工具提示。

        2
  •  2
  •   Stijn Sanders    16 年前

    我知道只有一个地方你可以找到答案: Reflector

    new FileStream(... 有一整套的论点!

        3
  •  0
  •   Andrew Hare    16 年前

    嗯,我也回答了 Create 但是 Open FileMode.Create 如果文件不存在,则表明您希望创建该文件。我认为这很清楚。

        4
  •  0
  •   Brian Genisio    16 年前

    首先,我想你可能读得太多了。一、 例如,我倾向于投第一个正确答案的赞成票,而忽略了任何进一步的答案。。。所以先到那里有点帮助。

    第二 File.Open 读起来比 System.IO.File.Open

    第三,从可读性的角度来看,Create在语义上没有Open那么重要。如果要创建并打开文件,第一个文件更明确。