01 判断文件是否存在
判断文件是否存在时,可以使用 File 类的 Exists 方法或者 FileInfo 类的 Exists 属性来实现,下面分别对它们进行介绍。
1. File 类的 Exists 方法
该方法用于确定指定的文件是否存在,语法如下:
public static bool Exists(string path)
path:要检查的文件。
返回值:如果调用方具有要求的权限并且 path 包含现有文件的名称,则为 true;否则为 false。如果 path 为空引用或零长度字符串,则该方法返回 false。如果调用方不具有读取指定文件所需的足够权限,则不引发异常并且该方法返回 false ,这与 path 是否存在无关。
说明
在用 Exists 方法时,拖路径为空,则会触发异常。
例1
下面代码使用 File 类的 Exists 方法判断 C 盘根目录下是否存在 Test.txt 文件。
File.Exists("C:\\Test.txt");
2. FileInfo 类的 Exists 属性
该属性获取指示文件是否存在的值,语法如下:
public override bool Exists { get; }
属性值:如果该文件存在,则为 true; 如果该文件不存在或该文件是目录,则为 false。
例2
下面的代码首先实例化一个 FileInfo 对象,然后使用该对象调用 FileInfo 类中的 Exists 属性判断 C 盘根目录下是否存在 Test.txt 文件。
FileInfo finfo = new FileInfo("C:\\Test.txt");
if(finfo.Exists)
{ }
02 创建文件
创建文件可以使用 File 类的 Create 方法或者 FileInfo 类的 Create 方法来实现,下面分别对它们进行介绍。
1. File 类的 Create 方法
该方法为可重载方法,它有以下 4 种重载形式。
public static FileStream Create(string path)
public static FileStream Create(string path,int bufferSize)
public static FileStream Create(string path,int bufferSize,FileOptions options)
public static FileStream Create(string path,int bufferSize,FileOptions options,FileSecurity fileSecurity)
“
参数说明表如表1 所示。
表1 File 类的 Create 方法参数说明
说明
在用 Create 方法创建目录时,如果路径为空,或是文件夹为只读,则会触发异常。
例3
下面的代码调用 File 类的 Create 方法在 C 盘根目录下创建一个 Test.text 文本文件。
File.Create("C:\\Test.txt");
2. FileInfo 类的 Create 方法
语法如下:
public FileStream Createz()
返回值:新文件,默认情况下,该方法将向所有用户授予对新文件的完全读写访问权限。
例4
下面的代码首先实例化一个 FileInfo 对象,然后使用该对象调用 FileInfo 类的 Create 方法在 C 盘根目录下创建一个 Test.txt 文本文件。
FileInfo finfo = new FileInfo("C:\\Test.txt");
finfo.Create();
03 复制或移除文件
复制或移除文件时,可以使用 File 类的 Copy 方法、Move方法或者 FileInfo 类的 CopyTo 方法、MoveTo 方法来实现,下面分别对它们进行介绍。
1. File 类的 Copy 方法
该方法为可重载方法,它有以下两种重载形式:
public static void Copy(string sourceFileName,string destFileName)
public static void Copy(string sourceFileName,string destFileName,bool overwrite)
sourceFileName:要复制的文件。
destFileName:目标文件的名称,不能是目录。如果是第一种形式,则该参数不能是现有文件。
overwrite:如果可以改写目标文件,则为 true;否则为 false。
例5
下面的代码调用 File 类的 Copy 方法将 C 盘根目录下的 Test.txt 文本文件复制到 D 盘根目录下。
File.Copy("C:\\Test.txt","D:\\Test.txt");
2. File 类的 Move 方法
该方法将指定文件移到新位置,并提供指定新文件名的选择,语法如下:
public static void Move(string sourceFileName,string destFileName)
sourceFileName:要移动的文件的名称。
destFileName:文件的新路径。
说明
在对文件进行移动时,如果目标文件已存在,则发生异常。
例6
下面的代码调用 File 类的 Move 方法将 C 盘根目录下的 Test.txt 文本文件移动到 D 盘根目录下。
File.Move("C:\\Test.txt","D:\\Test.txt");
3. FileInfo 类的 CopyTo 方法
该方法为可重载方法,它有以下两种重载形式:
public FileInfo CopyTo(string destFileName)
public FileInfo CopyTo(string destFileName,bool overwrite)
destFlieName:要复制到新文件的名称。
overwrite:若为 true,则允许改写现有文件;否则为 false。
返回值:第一种重载形式的返回值为带有完全限定路径的新文件。第二种重载形式的返回值为新文件,或者如果 overwrite 为 true,则为现有文件的改写。如果文件存在,且 overwrite 为 false,则会发生 IOException。
例7
下面的代码首先实例化一个 FileInfo 对象,然后使用该对象调用 FlieInfo 类的 CopyTo 方法将 C 盘根目录下的 Test.txt 文本文件复制到 D 盘根目录下。如果 D 盘根目录下已经存在 Test.txt 文本文件,则将其替换。
FlieInfo finfo = new FileInfo("C:\\Test.txt");
finfo.CopyTo("D:\\Test.txt",true);
4. FileInfo 类的 MoveTo 方法
该方法将指定文件移到新位置,并提供指定新文件名的选项,语法如下:
public void MoveTo(string destFileName)
destFileName:要将文件移动到路径,可以指定另一个文件名。
例8
下面的代码首先实例化一个 FileInfo 对象,然后使用该对象调用 FileInfo 类的 MoveTo 方法将 C 盘根目录下的 Test.txt 文本文件移动到 D 盘根目录下。
FileInfo finfo = new FileInfo("C:\\Test.txt");
finfo.MoveTo("D:\\Test.txt");
Love life,love yourself
关注小编不迷路呦~
-----------------------------------
公众号【Csharp编程大全】