01  判断文件是否存在

C# 文件基本操作(一)_c#

判断文件是否存在时,可以使用 File 类的 Exists 方法或者 FileInfo 类的 Exists 属性来实现,下面分别对它们进行介绍。



1.  File 类的 Exists 方法

该方法用于确定指定的文件是否存在,语法如下:

public static bool Exists(string path)

C# 文件基本操作(一)_c#_02  path:要检查的文件。

C# 文件基本操作(一)_c#_02  返回值:如果调用方具有要求的权限并且 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  所示。

C# 文件基本操作(一)_根目录_04

        表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)

C# 文件基本操作(一)_c#_02  sourceFileName:要复制的文件。

C# 文件基本操作(一)_c#_02  destFileName:目标文件的名称,不能是目录。如果是第一种形式,则该参数不能是现有文件。

C# 文件基本操作(一)_c#_02  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)

C# 文件基本操作(一)_c#_02  sourceFileName:要移动的文件的名称。

C# 文件基本操作(一)_c#_02  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)

C# 文件基本操作(一)_c#_02  destFlieName:要复制到新文件的名称。

C# 文件基本操作(一)_c#_02  overwrite:若为 true,则允许改写现有文件;否则为 false。

C# 文件基本操作(一)_c#_02  返回值:第一种重载形式的返回值为带有完全限定路径的新文件。第二种重载形式的返回值为新文件,或者如果 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");




C# 文件基本操作(一)_文本文件_13

Love life,love yourself

关注小编不迷路呦~


-----------------------------------

公众号【Csharp编程大全】