📅  最后修改于: 2023-12-03 15:13:51.125000             🧑  作者: Mango
在 C# 编程中,有时候需要在程序执行过程中创建文件。但是,如果文件已经存在,那么这个操作就会失败。这时,我们就需要在创建文件时判断文件是否存在,如果不存在,则创建文件。在本文中,我们将介绍如何实现这个功能。
在 C# 中,我们可以使用 File 类提供的方法来判断文件是否存在,如果不存在,则创建文件。下面是具体的代码实现:
using System.IO;
string fileName = "example.txt";
if (!File.Exists(fileName))
{
FileStream fs = File.Create(fileName);
fs.Close();
}
在这段代码中,我们首先定义了一个文件名,然后使用 File.Exists 方法来检查文件是否存在。如果文件不存在,则使用 File.Create 方法创建文件。最后,关闭文件流。
除了使用 File 类,我们还可以使用 FileInfo 类。FileInfo 类的实例可以表示一个文件的路径,以及文件的信息。下面是具体的代码实现:
using System.IO;
string fileName = "example.txt";
FileInfo fi = new FileInfo(fileName);
if (!fi.Exists)
{
FileStream fs = fi.Create();
fs.Close();
}
在这段代码中,我们也是首先定义了一个文件名,然后使用 FileInfo 类创建了一个文件信息对象。通过检查这个文件信息对象的 Exists 属性,可以判断文件是否存在。如果文件不存在,则使用 Create 方法创建文件。最后,关闭文件流。
除了使用 File 类和 FileInfo 类,我们还可以使用 Path 类提供的方法来创建文件。Path 类提供的 GetFullPath 方法可以返回指定路径的绝对路径,而 GetFileName 方法可以返回指定路径中的文件名。下面是具体的代码实现:
using System.IO;
string fileName = "example.txt";
string fullPath = Path.GetFullPath(fileName);
string dirName = Path.GetDirectoryName(fullPath);
if (!Directory.Exists(dirName))
{
Directory.CreateDirectory(dirName);
}
if (!File.Exists(fullPath))
{
FileStream fs = File.Create(fullPath);
fs.Close();
}
在这段代码中,我们首先定义了一个文件名,然后使用 Path 类的 GetFullPath 方法获取文件的绝对路径,使用 GetDirectoryName 方法获取文件所在目录的路径。接着,我们先检查文件所在目录是否存在,如果不存在,则创建目录。最后,检查文件是否存在,如果文件不存在,则使用 File.Create 方法创建文件。最后,关闭文件流。
在 C# 中判断文件是否存在,如果不存在,则创建文件,有多种方法可供选择。无论使用哪种方法,都需要保证文件名的正确性。此外,在创建文件时,务必要关掉文件流。