1、文件夹重命名
//sourceDirectory 是文件夹的路径,test2 是要重命名的名称
string sourceDirectory = @"C:\test";
Microsoft.VisualBasic.FileIO.FileSystem.RenameDirectory(sourceDirectory, "test2");
2、文件重命名
//sourceFile 是文件完整路径,新的名称要包含文件后缀名
string sourceFile = @"C:\test2\test.txt";
Microsoft.VisualBasic.FileIO.FileSystem.RenameFile(sourceFile, "改变了.txt");
3、获取某个文件夹及相关属性
//文件夹路径
string directoryPath = @"C:\test";
//创建文件夹对象,该对象可以点出各种属性
DirectoryInfo directory = new DirectoryInfo(directoryPath );
4、获取某个文件及相关属性
//文件完整路径
string filePath = @"C:\test2\test.txt";
//创建文件对象,该对象包含各种属性
FileInfo file = new FileInfo(filePath);
5、获取某个文件夹下面的子目录或者子文件夹
string directoryPath = @"C:\test";
DirectoryInfo directory = new DirectoryInfo(directoryPath );
//获取directory下的所有文件,不包含子文件
var getFiles = directory.GetFiles();
//获取directory下的所有文件夹,不包含子文件夹
var getDirectorys=directory.GetDirectories();
//获取directory下的所有文件夹和文件,不包含子目录
var getFileAndDirectory= directory.GetFileSystemInfos();
6、FileInfo类常用的属性和方法
DirectoryInfo类是System.IO命名空间的一部分。它用于创建,删除和移动目录。它提供了执行与目录和子目录相关的操作的方法。这是一个密封的类,所以不能继承它。
DirectoryInfo类提供了下面列出的构造函数,方法和属性。
| 构造函数 | 
描述 | 
| DirectoryInfo(String) | 
它用于在指定的路径上初始化DirectoryInfo类的新实例。 | 
 | 
 | 
DirectoryInfo类的属性。
| 属性 | 
描述 | 
| Attributes | 
它用于获取或设置当前文件或目录的属性。 | 
| CreationTime | 
它用于获取或设置当前文件或目录的创建时间。 | 
| CreationTimeUtc | 
它用于在协调的世界时间(UTC)中获取或设置创建时间。 | 
| Exists | 
它用于获取一个值,指示目录是否存在。 | 
| Extension | 
它用于获取表示文件扩展部分的字符串。 | 
| FullName | 
它用于获取目录的完整路径。 | 
| LastAccessTime | 
它用于获取或设置上次访问当前文件或目录的时间。 | 
| LastAccessTimeUtc | 
用于在当前文件或目录被上次访问的协调世界时间(UTC)中获取或设置时间。 | 
| LastWriteTime | 
它用于获取或设置当前文件或目录最后写入的时间。 | 
| LastWriteTimeUtc | 
当最后一次写入当前文件或目录时,它用于在协调世界时(UTC)中获取或设置时间。 | 
| Name | 
它用于获取此DirectoryInfo实例的名称。 | 
| Parent | 
它用于获取指定子目录的父目录。 | 
| Root | 
它用于获取目录的根部分。 | 
DirectoryInfo类中定义的方法
| 方法 | 
描述 | 
| Create() | 
它用于创建一个目录。 | 
| Create(DirectorySecurity) | 
它用于使用DirectorySecurity对象创建目录。 | 
| CreateObjRef(Type) | 
它用于创建一个对象,其中包含生成用于与远程对象通信的代理所需的所有相关信息。 | 
| CreateSubdirectory(String) | 
它用于在指定的路径上创建一个子目录或子目录。 | 
| CreateSubdirectory(String,DirectorySecurity) | 
它用于在具有指定安全性的指定路径上创建子目录或子目录。 | 
| Delete() | 
如果DirectoryInfo为空,则用于删除DirectoryInfo。 | 
| Delete(Boolean) | 
它用于删除DirectoryInfo的实例,指定是否删除子目录和文件。 | 
| EnumerateDirectories() | 
它返回当前目录中可用的目录信息集合。 | 
| EnumerateFiles() | 
它在当前目录中返回无数的文件信息集合。 | 
| GetAccessControl() | 
它用于获取一个DirectorySecurity对象,该对象封装了目录的访问控制列表(ACL)条目。 | 
| GetDirectories() | 
它返回当前目录的子目录。 | 
| GetFiles() | 
它从当前目录返回文件列表。 | 
| GetType() | 
它用于获取当前实例的类型。 | 
| MoveTo(String) | 
它用于将DirectoryInfo实例及其内容移动到新路径。 | 
| Refresh() | 
它用于刷新对象的状态。 | 
| SetAccessControl(DirectorySecurity) | 
它用于设置DirectorySecurity对象描述的访问控制列表(ACL)条目。 | 
| ToString() | 
它返回用户传递的原始路径。 | 
7、FileInfo类常用的属性和方法
提供创建、复制、删除、移动和打开文件的属性和实例方法
在 FileInfo 类中提供了一个构造方法,语法形式如下。
FileInfo(string fileName)
FileInfo 类中常用的属性和方法
| 属性或方法 | 
描述 | 
| Directory | 
只读属性,获取父目录的实例 | 
| DirectoryName | 
只读属性,获取表示目录的完整路径的字符串 | 
| Exists | 
只读属性,获取指定的文件是否存在,若存在返回 True,否则返回 False | 
| IsReadOnly | 
属性,获取或设置指定的文件是否为只读的 | 
| Length | 
只读属性,获取文件的大小 | 
| Name | 
只读属性,获取文件的名称 | 
| Filelnfo CopyTo(string destFileName) | 
将现有文件复制到新文件,不允许覆盖现有文件 | 
| Filelnfo CopyTo(string destFileName, bool overwrite) | 
将现有文件复制到新文件,允许覆盖现有文件 | 
| FileStream Create() | 
创建文件 | 
| void Delete() | 
删除文件 | 
| void MoveTo(string destFileName) | 
将指定文件移到新位置,提供要指定新文件名的选项 | 
| Filelnfo Replace(string destinationFileName, string destinationBackupFileName) | 
使用当前文件对象替换指定文件的内容,先删除原始文件, 再创建被替换文件的备份 | 
8、File类、Directory类、FileInfo、DirectoryInfo类的区别
1)相同点:
File和FileInfo都可以对文件进行相关操作,Directory和DirectoryInfo都可以对文件夹进行相关操作。
2)不同点:
File,Directory 是静态类。如果只要执行一个操作,File,Directory性能更高。
File,Directory类的静态方法对所有方法都执行安全检查,因此如果打算多次重用某个对象,可以考虑改用FileInfo,DirectoryInfo类中相应方法(他不需要安全检查)。
FileInfo,DirectoryInfo类没有静态方法,该类的方法仅可以用于实例化的对象。不能被继承。
如果要在文件上执行几种操作,则实例化FileInfo,DirectoryInfo对象使用其方法就会更好一些。