【问题标题】:What is the difference between System.IO.File and System.IO.FileInfoSystem.IO.File 和 System.IO.FileInfo 有什么区别
【发布时间】:2011-04-29 12:41:36
【问题描述】:

为什么有两个用于几乎相同目的的类 System.IO.File 和 System.IO.FileInfo。

【问题讨论】:

  • 我希望你能对 cme​​ts 投反对票。
  • @Rei Miyasaka:为什么会这样?
  • 因为你既不乐于助人也不友好也不有趣。

标签: c#


【解决方案1】:

System.IO.File 提供与处理文件相关的静态成员,而System.IO.FileInfo 表示特定文件并包含用于处理该文件的非静态成员。

来自 MSDN:

因为所有 File 方法都是静态的, 使用 a 可能更有效 文件方法而不是 对应的 FileInfo 实例方法 如果你只想执行一个 行动。所有 File 方法都需要 您所在文件的路径 操纵。

File类的静态方法 对所有人进行安全检查 方法。如果你要重用一个 对象多次,考虑使用 对应的实例方法 FileInfo 代替,因为安全性 检查并不总是必要的。

【讨论】:

    【解决方案2】:

    一般来说,他们做了两件非常不同的事情:

    • System.IO.File - 获取/使用任何文件
    • System.IO.FileInto - 获取/使用(包括元数据)特定文件

    当然,它们确实共享一些具有相同目的的方法,但在大多数情况下,它们具有非常不同的目的/场景,它们最适合。

    【讨论】:

      猜你喜欢
      • 2010-10-02
      • 2011-12-12
      • 2010-09-16
      • 2012-03-14
      • 2012-02-06
      • 2011-02-25
      • 2011-11-22
      • 2015-03-26
      • 2013-08-19
      相关资源
      最近更新 更多