C# Windows文件系统

C# 中可使用各种目录和文件相关类(如:DirectoryInfo类和FileInfo类)来处理目录和文件。

DirectoryInfo类

DirectoryInfo类派生自FileSystemInfo类。它具有创建,移动和浏览目录和子目录的各种方法,这个类不能被继承。

以下是DirectoryInfo类的一些常用属性:

序号 属性 描述
1 Attributes 获取当前文件或目录的属性
2 CreationTime 获取当前文件或目录的创建时间
3 Exists 获取一个布尔值,指示目录是否存在
4 Extension 获取表示文件扩展名的字符串
5 FullName 获取目录或文件的完整路径
6 LastAccessTime 获取上次访问当前文件或目录的时间
7 Name 获取此DirectoryInfo实例的名称

以下是DirectoryInfo类的一些常用方法:

序号 方法 描述
1 public void Create() 创建一个目录
2 public DirectoryInfo CreateSubdirectory(string path) 在指定的路径上创建一个子目录或子目录。指定的路径可以相对于DirectoryInfo类的此实例。
3 public override void Delete() 如果DirectoryInfo为空,则将其删除。
4 public DirectoryInfo[] GetDirectories() 返回当前目录的子目录
5 public FileInfo[] GetFiles() 从当前目录返回文件列表

有关属性和方法的完整列表,请访问Microsoft的 C# 文档。

FileInfo类

FileInfo类派生自FileSystemInfo类。它具有用于创建,复制,删除,移动和打开文件的属性和实例方法,并有助于创建FileStream对象。这个类不能被继承。

以下是FileInfo类的一些常用属性:

序号 属性 描述
1 Attributes 获取当前文件的属性
2 CreationTime 获取当前文件的创建时间
3 Directory 获取文件所属目录的实例
4 Exists 获取一个布尔值,指示文件是否存在
5 Extension 获取表示文件扩展名的字符串
6 FullName 获取表示文件扩展名的字符串
7 LastAccessTime 获取当前文件上次访问的时间
8 LastWriteTime 获取文件的最后一次写入的时间
9 Length 获取当前文件的大小(以字节为单位)
10 Name 获取文件的名称

以下是FileInfo类的一些常用方法:

序号 方法 描述
1 public StreamWriter AppendText() 创建一个StreamWriter,将文本附加到FileInfo的此实例所表示的文件中。
2 public FileStream Create() 创建一个文件
3 public override void Delete() 永久删除文件
4 public void MoveTo(string destFileName) 将指定的文件移动到新位置,提供指定新文件名的选项。
5 public FileStream Open(FileMode mode) 以指定的模式打开文件
6 public FileStream Open(FileMode mode, FileAccess access) 以指定的模式打开文件,读取,写入或读/写访问。
7 public FileStream Open(FileMode mode, FileAccess access, FileShare share) 以指定的模式打开一个文件,具有读,写或读/写访问权限以及指定的共享选项。
8 public FileStream OpenRead() 创建只读FileStream对象
9 public FileStream OpenWrite() 创建一个只写FileStream对象

有关属性和方法的完整列表,请访问Microsoft的 C# 文档。

例子

以下示例演示如何使用上述类:

using System;
using System.IO;

namespace WindowsFileApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         //creating a DirectoryInfo object
         DirectoryInfo mydir = new DirectoryInfo(@"c:\Windows");

         // getting the files in the directory, their names and size
         FileInfo [] f = mydir.GetFiles();
         foreach (FileInfo file in f)
         {
            Console.WriteLine("File Name: {0} Size: {1}", file.Name, file.Length);
         }

         Console.ReadKey();
      }
   }
}

编译并运行程序时,会在Windows目录中显示文件的名称及其各自的大小。

File Name: 3IoaQ3K3QY24H34.lAxO5 Size: 273424
File Name: 4mA6y1wAaD9.7t6uh Size: 188432
File Name: 55PLR.kc2Ik Size: 149520
File Name: 76.axv4b Size: 159760
File Name: 7V.8f9bG Size: 182288
File Name: 87.IX8Gn Size: 149520
File Name: 8ppwDb11OX.kPI6E Size: 235536
File Name: 912uo49t7bJm864.W39C1 Size: 296976
File Name: Bcdedit.dll Size: 294912
File Name: bfsvc.exe Size: 61952
File Name: bootstat.dat Size: 67584
File Name: D8Ecap.exe Size: 593920
File Name: diagerr.xml Size: 25689
File Name: diagwrn.xml Size: 24768
File Name: difxapi.dll Size: 440816
File Name: explorer.exe Size: 4516800
File Name: f3C.xP3I3 Size: 95248
File Name: HelpPane.exe Size: 995840
File Name: hh.exe Size: 18432
File Name: iGF1xcHJ.6mb1C Size: 299024
File Name: Irremote.ini Size: 90
File Name: KwYlx.dat Size: 21
File Name: LisW.fZ5j7 Size: 191504
File Name: mib.bin Size: 43131
File Name: msdfmap.ini Size: 1405
File Name: msvcp100.dll Size: 607568
File Name: msvcr100.dll Size: 827728
File Name: notepad.exe Size: 244736
File Name: ODBCINST.INI Size: 469
File Name: P.Wj9s5 Size: 125968
File Name: PFRO.log Size: 91720
File Name: Professional.xml Size: 32200
File Name: progress.ini Size: 36
File Name: PWMBTHLV.EXE Size: 527424
File Name: Px81C.5MH78 Size: 8208
File Name: py.exe Size: 889496
File Name: pyshellext.amd64.dll Size: 55456
File Name: pyw.exe Size: 890008
File Name: regedit.exe Size: 320512
File Name: Rg6TkqTadeve.R3tFV Size: 200720
File Name: RH8B2V4.4mJpC Size: 128016
File Name: Rt.B95F5 Size: 190480
File Name: RZ7Zz6.uq8Cy Size: 145424
File Name: SMSS-PFRO2049.tmp Size: 33472
File Name: splwow64.exe Size: 128000
File Name: system.ini Size: 219
File Name: taujpXUAfKl6Bm4.9yyCF Size: 131088
File Name: twain_32.dll Size: 60416
File Name: U.W49u1 Size: 153616
File Name: UwAJaF4C9fZjL.tiD4d Size: 52240
File Name: W8kk3rCc3HQSb3r.mXlkk Size: 100368
File Name: win.ini Size: 452
File Name: WindowsShell.Manifest Size: 670
File Name: WindowsUpdate.log Size: 275
File Name: winhlp32.exe Size: 10240
File Name: WMSysPr9.prx Size: 316640
File Name: write.exe Size: 11264
File Name: WVS_InstDBLogFile.csv Size: 727
File Name: WzB.3Z9CP Size: 76816
File Name: XuuYSy1s.3drra Size: 34832
File Name: YQ2dO3.7T7OO Size: 299024

上一篇: C#文件(I/O) 下一篇: C#属性