C#程序获取绝对路径中的文件名

C#程序获取绝对路径中的文件名

简介

让我们来了解如何使用C#程序获取绝对路径中的文件名。我们将展示File类下的GetFileName方法用于获取文件名,以及另一个GetFileNameWithoutExtension方法,它将返回不带扩展名的指定路径字符串的文件名。 使用Uri类在C#中获取两个绝对路径的相对路径。 Uri类提供了多个用于处理URI的方法,包括我们将在代码中使用的MakeRelativeUri方法。

在C#中,文件是用于存储某些信息的位置。文件集合称为目录。 C#中的文件属于System.IO命名空间,该命名空间还包括用于执行文件操作的各种其他类。路径是同一命名空间下的另一个类。有两种类型的路径,即绝对路径和相对路径。绝对路径包括定位系统上文件或目录所需的所有信息。绝对路径的示例是C:\ Program Files \ Google Chrome \文件名.exe。

相对路径告诉我们当前用户所工作的当前目录相对于文件的路径。考虑以上提到的类似示例,如果主可执行文件位于C:\ Program Files中,则filename.exe的相对路径为Google Chrome \ filename.exe。

GetFileName方法

这是C#中file类下使用绝对路径获取文件名的方法。使用path.GetFileName来执行操作。它以字符串的形式作为输入,并返回指定路径的文件名和扩展名。作为输入使用的绝对路径是字符串形式的。

语法

public static string GetFileName(string path)

其中路径是我们要获取文件名的路径字符串。

在上面的示例中,GetFileName是path类的一个方法。该方法将返回路径名称中最后一个目录字符分隔符之后的字符。如果不存在,则返回一个NULL值。如果路径的最后一个字符是目录或卷分隔符字符,则它也将返回一个NULL值。

同样,如果path为NULL,它将返回一个NULL值。

如果文件名为“C:\ mydir \ filename.exe”,则输出为filename.exe。

算法

以下算法将提供使用File.GetFileName()方法获取文件名的逐步过程。

例如,如果我们要查找文件的名称,则可以使用以下算法-

步骤1-创建一个字符串,用于存储文件路径的名称,记住这是绝对路径。

步骤2 – 创建一个最初为空的字符串文件名。

步骤3-我们将在字符串filename中存储GetFileName方法的输出。

步骤4-因为上面代码中的filename的名称为“myfile”,因此输出将是相同的。

步骤5-如果路径为NULL,则返回的输出也将是NULL。

步骤6-通过使用GetFileName方法,我们可以从绝对路径返回文件名。

示例

using System;
using System.IO;
using System.Text;

class FileName {
   static void Main(string[] args) {
      //声明字符串路径。
      string path = "E://Jinku Hu//Starting Over//Csharp//myfile.md";

      //声明字符串filename。
      string filename = null;

      //我们将在filename变量中存储值。
      filename = Path.GetFileName(path);
      Console.WriteLine(filename);
      Console.ReadLine();
   }
}

输出

myfile.md

时间复杂度

从上面的代码中可以发现,在主函数中没有任何循环或者嵌套循环,因此时间复杂度为O(1)。

GetFileNameWithoutExtension 方法

之前讲解的方法是使用 GetFileName 方法返回文件名称。现在我们将了解如何返回不带扩展名的文件名称。假设路径的名称为”C:\Program Files\Google Chrome\filename.exe”,那么返回的输出将是”filename”。它以绝对路径为输入,以文件名称为输出。输入的绝对路径是以字符串的形式呈现的。语法:”public static string GetFileName(string path)”,这里的路径是我们要获取不带扩展名的文件名称的字符串。

在上面的示例中,GetFileName 是路径类的一个方法。此方法将返回路径名称中最后一个目录字符分隔符后面没有扩展名的字符。如果不存在,则返回 NULL 值。如果路径的最后一个字符是目录或卷分隔符,则它也将返回 NULL 值。

算法

在这个算法中,我们将通过使用 GetFileNameWithoutExtension 方法逐步理解返回不带扩展名的文件名称的方法。

第1步 – 创建一个字符串,它将存储绝对路径的名称。

第2步 – 创建另一个名为 filename 的字符串,并将其作为输出返回。

第3步 – 字符串 filename 将以 null 作为其初始值。

第4步 – 使用 GetFileNameWithoutExtension 方法生成的输出将存储在字符串 filename 中。

第5步 – 如果文件为空,则输出也将为空。

第6步 – 因此,我们可以使用 GetFileNameWithoutExtension 方法返回不带扩展名的文件名称。

示例

using System;
using System.IO;
using System.Text;

class FileName {
   static void Main(string[] args) {
      // declare the string path first.
      string path = "C:\Program Files\Google Chrome\filename.exe";

      // declare the string filename and store null initially.
      string filename = null;
      filename = Path.GetFileNameWithoutExtension(path);

      //store the answer in the variable filename.
      Console.WriteLine(filename);
      Console.ReadLine();
   }
}

输出

filename.exe

时间复杂度

从上面的代码中可以发现,只使用了一种直接生成输出并将其存储在相应变量中的方法,没有使用任何循环或任何复杂的递归函数。这简单地构成了时间复杂度为 O(1)。

结论

在本文中,我们广泛讨论了使用 GetFileName 方法从绝对路径获取带扩展名的文件名称以及使用 GetFileNameWithoutExtension 方法获取不带扩展名的文件名称的 C# 程序。

我们希望这篇文章能够帮助您增加有关 C# 的知识。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程