C# 文件系统 - System.IO.Path、System.IO.File、System.IO.FileInfo用法
一. System.IO.Path(对包含文件或目录路径信息的 System.String 实例执行操作。 这些操作是以跨平台的方式执行的)
将字符串数组组合成一个路径(合并之后路径 E:\Test\SubFolder)
System.IO.Path.Combine(@"E:\Test","SubFolder");
返回指定路径字符串的目录信息(返回: G:\Test\1122\weixin)
System.IO.Path.GetDirectoryName(@"G:\Test\1122\weixin\11.txt");
返回指定路径字符串的文件名和扩展名(返回: 11.txt)
System.IO.Path.GetFileName(@"G:\Test\1122\weixin\11.txt");
返回指定的路径字符串的扩展名(返回: .txt)
System.IO.Path.GetExtension(@"G:\Test\1122\weixin\11.txt");
返回不具有扩展名的指定路径字符串的文件名(返回: 11)
System.IO.Path.GetFileNameWithoutExtension(@"G:\Test\1122\weixin\11.txt");
获取包含不允许在文件名中使用的字符的数组(返回字符数组)
System.IO.Path.GetInvalidFileNameChars();
获取包含不允许在路径名中使用的字符的数组(返回字符数组)
System.IO.Path.GetInvalidPathChars();
获取指定路径的根目录信息(返回: G:\)
System.IO.Path.GetPathRoot(@"G:\Test\1122\weixin\11.txt");
二. System.IO.File(提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 System.IO.FileStream 对象)
在一个文件中追加文本行,然后关闭该文件.如果文件不存在,则创建该文件
复制文件(true表示允许覆盖同名文件)
System.IO.File.Copy(sourceFile, destFile, true);
在指定路径中创建或覆盖文件(返回FileStream对象)
System.IO.File.Create(@"G:\Test\test.txt");
删除指定的文件
System.IO.File.Delete(@"G:\Test\test.txt");
文件是否存在
System.IO.File.Exists(@"G:\Test\test.txt");
返回指定文件或目录的创建日期和时间
类似的还有: GetCreationTimeUtc、GetLastAccessTime、GetLastAccessTimeUtc、GetLastWriteTime、GetLastWriteTimeUtc
System.IO.File.GetCreationTime(@"G:\Test\1.txt");
将指定文件移到新位置,并提供指定新文件名的选项
System.IO.File.Move(@"G:\Test\1.txt", @"G:\Test\Move\2.txt");
使用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份.
3.txt文件内容将被2.txt文件内容替换
System.IO.File.Replace(@"G:\Test\Move\2.txt", @"G:\Test\3.txt", @"G:\Test\3_bak.txt");
设置创建该文件的日期和时间
类似的还有: SetCreationTimeUtc、SetLastAccessTime、SetLastAccessTimeUtc、SetLastWriteTime、SetLastWriteTimeUtc
System.IO.File.SetCreationTime(@"G:\Test\3.txt", DateTime.Now);
三. System.IO.FileInfo(提供创建、复制、删除、移动和打开文件的属性和实例方法)
初始化 System.IO.FileInfo 类的新实例,它作为文件路径的包装
System.IO.FileInfo fileInfo = new FileInfo(@"G:\Test\33\2222.txt");
获取表示目录的完整路径的字符串(输出:G:\Test\33)
fileInfo.DirectoryName;
获取目录或文件的完整目录(输出:G:\Test\33\2222.txt)
fileInfo.FullName;
获取文件名(输出:2222.txt)
fileInfo.Name
获取表示文件扩展名部分的字符串(输出:.txt)
fileInfo.Extension;
文件是否存在
fileInfo.Exists
获取或设置确定当前文件是否为只读
fileInfo.IsReadOnly
获取当前文件的大小(字节)
fileInfo.Length
获取或设置当前文件或目录的创建时间
类似的还有:CreationTimeUtc、LastAccessTime、LastAccessTimeUtc、LastWriteTime、LastWriteTimeUtc
fileInfo.CreationTime
将现有文件复制到新文件(如果需要覆盖现有文件,设置第二个参数为true)
fileInfo.CopyTo(@"G:\Test\33\23.txt");
创建文件(返回FileStream类型)
fileInfo.Create();
永久删除文件
fileInfo.Delete();
将指定文件移到新位置
fileInfo.MoveTo(@"G:\Test\33\233.txt");
使用当前 System.IO.FileInfo 对象所描述的文件替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份
fileInfo.Replace(@"G:\Test\3.txt", @"G:\Test\3_bak.txt");
刷新对象的状态
fileInfo.Refresh();