📌  相关文章
📜  c# 如果不存在则创建文件 - C# (1)

📅  最后修改于: 2023-12-03 15:13:51.125000             🧑  作者: Mango

C# 如果不存在则创建文件

在 C# 编程中,有时候需要在程序执行过程中创建文件。但是,如果文件已经存在,那么这个操作就会失败。这时,我们就需要在创建文件时判断文件是否存在,如果不存在,则创建文件。在本文中,我们将介绍如何实现这个功能。

方法一:使用 File 类

在 C# 中,我们可以使用 File 类提供的方法来判断文件是否存在,如果不存在,则创建文件。下面是具体的代码实现:

using System.IO;

string fileName = "example.txt";
if (!File.Exists(fileName))
{
    FileStream fs = File.Create(fileName);
    fs.Close();
}

在这段代码中,我们首先定义了一个文件名,然后使用 File.Exists 方法来检查文件是否存在。如果文件不存在,则使用 File.Create 方法创建文件。最后,关闭文件流。

方法二:使用 FileInfo 类

除了使用 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 方法创建文件。最后,关闭文件流。

方法三:使用 Path 类

除了使用 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# 中判断文件是否存在,如果不存在,则创建文件,有多种方法可供选择。无论使用哪种方法,都需要保证文件名的正确性。此外,在创建文件时,务必要关掉文件流。