C#获取文件名和文件路径的两种实现方式

1. 使用Path类获取文件名和文件路径

在C#中,我们可以使用Path类来获取文件名和文件路径。Path类提供了一系列静态方法和属性,用于操作文件路径。

1.1 获取文件名

要获取文件名,我们可以使用Path类的静态方法GetFileName。该方法接收一个文件路径作为参数,并返回该文件路径中的文件名。

string filePath = @"C:\Documents\file.txt";

string fileName = Path.GetFileName(filePath);

Console.WriteLine("文件名:" + fileName);

上面的代码输出结果为:

文件名:file.txt

在这个例子中,我们定义了一个文件路径filePath,并使用GetFileName方法获取了文件名fileName,并将其输出到控制台。

需要注意的是,GetFileName方法只会返回文件名,不包含文件的路径。

1.2 获取文件路径

要获取文件路径,我们可以使用Path类的静态方法GetDirectoryName。该方法接收一个文件路径作为参数,并返回该文件路径中的目录路径。

string filePath = @"C:\Documents\file.txt";

string directoryPath = Path.GetDirectoryName(filePath);

Console.WriteLine("文件路径:" + directoryPath);

上面的代码输出结果为:

文件路径:C:\Documents

在这个例子中,我们定义了一个文件路径filePath,并使用GetDirectoryName方法获取了文件路径directoryPath,并将其输出到控制台。

需要注意的是,GetDirectoryName方法只会返回目录路径,不包含文件名。

2. 使用FileInfo类获取文件名和文件路径

另一种获取文件名和文件路径的方式是使用FileInfo类。FileInfo类是System.IO命名空间中的一个类,用于提供有关文件的信息和操作。

2.1 获取文件名

要获取文件名,我们可以创建一个FileInfo对象,并使用其Name属性获取文件名。

string filePath = @"C:\Documents\file.txt";

FileInfo fileInfo = new FileInfo(filePath);

string fileName = fileInfo.Name;

Console.WriteLine("文件名:" + fileName);

上面的代码输出结果为:

文件名:file.txt

在这个例子中,我们创建了一个FileInfo对象fileInfo,并使用其Name属性获取了文件名fileName,并将其输出到控制台。

2.2 获取文件路径

要获取文件路径,我们可以创建一个FileInfo对象,并使用其DirectoryName属性获取文件路径。

string filePath = @"C:\Documents\file.txt";

FileInfo fileInfo = new FileInfo(filePath);

string directoryPath = fileInfo.DirectoryName;

Console.WriteLine("文件路径:" + directoryPath);

上面的代码输出结果为:

文件路径:C:\Documents

在这个例子中,我们创建了一个FileInfo对象fileInfo,并使用其DirectoryName属性获取了文件路径directoryPath,并将其输出到控制台。

3. 总结

通过使用Path类或FileInfo类,我们可以轻松地获取文件名和文件路径。Path类提供了静态方法GetFileName和GetDirectoryName,用于分别获取文件名和文件路径。FileInfo类则提供了Name和DirectoryName属性,用于分别获取文件名和文件路径。

无论是使用Path类还是FileInfo类,我们都可以根据具体的需求选择适合的方式。如果我们只需要获取文件名或文件路径,使用Path类就足够了;如果我们需要在获取文件名或文件路径的同时对文件进行其他操作,可以使用FileInfo类。

在实际开发中,根据具体情况选择合适的方式,可以提高代码的可读性和灵活性。

参考代码:

using System;

using System.IO;

class Program

{

static void Main(string[] args)

{

// 使用Path类获取文件名和文件路径

string filePath1 = @"C:\Documents\file.txt";

string fileName1 = Path.GetFileName(filePath1);

string directoryPath1 = Path.GetDirectoryName(filePath1);

Console.WriteLine("使用Path类获取文件名和文件路径:");

Console.WriteLine("文件名:" + fileName1);

Console.WriteLine("文件路径:" + directoryPath1);

Console.WriteLine();

// 使用FileInfo类获取文件名和文件路径

string filePath2 = @"C:\Documents\file.txt";

FileInfo fileInfo = new FileInfo(filePath2);

string fileName2 = fileInfo.Name;

string directoryPath2 = fileInfo.DirectoryName;

Console.WriteLine("使用FileInfo类获取文件名和文件路径:");

Console.WriteLine("文件名:" + fileName2);

Console.WriteLine("文件路径:" + directoryPath2);

}

}

后端开发标签